La libreria Task Parallel Library (TPL) è un set di tipi e API pubblici negli spazi dei nomi System.Threading e System.Threading.Tasks in .NET Framework 4.
Lo scopo di TPL è aumentare la produttività degli sviluppatori mediante la semplificazione del processo di aggiunta di parallelismo e concorrenza alle applicazioni. La libreria TPL adegua dinamicamente il grado di concorrenza affinché tutti i processori disponibili vengano utilizzati nel modo più efficiente possibile. La libreria TPL gestisce inoltre il partizionamento del lavoro, la pianificazione dei thread in ThreadPool, il supporto per l'annullamento, la gestione dello stato e altri dettagli di basso livello. Quando si utilizza TPL, è possibile ottimizzare le prestazioni del codice concentrandosi sulle operazioni per cui il programma è stato progettato.
A partire da .NET Framework 4, TPL è la modalità preferita per scrivere il codice multithreading e parallelo.
Tuttavia, non tutto il codice è adatto per la parallelizzazione; ad esempio, se un ciclo esegue solo una piccola parte di lavoro in ciascuna iterazione o non viene eseguito per molte iterazioni, il sovraccarico della parallelizzazione potrebbe provocare un rallentamento dell'esecuzione del codice. Inoltre, la parallelizzazione come qualsiasi codice multithreading, aggiunge complessità all'esecuzione del programma. Benché la libreria TPL semplifichi gli scenari multithreading, è consigliabile avere una conoscenza di base dei concetti relativi all'utilizzo dei thread, ad esempio blocchi, deadlock e race condition. Infatti, ciò consentirà di utilizzare la libreria TPL in modo più efficace. Per ulteriori informazioni relative ai concetti di base sul calcolo parallelo, vedere la sezione relativa al Centro per sviluppatori per il calcolo parallelo in MSDN (la pagina potrebbe essere in inglese).