Task Parallel Library
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 versione 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).
Argomenti correlati
Titolo |
Descrizione |
Viene descritto come creare cicli for e foreach paralleli (For e For Each in Visual Basic). |
|
Viene descritto come creare ed eseguire attività tramite Parallel.Invoke in modo implicito o direttamente tramite oggetti Task in modo esplicito. |
|
Viene descritto come utilizzare TPL con altri modelli asincroni in .NET |
|
Vengono descritti alcuni problemi comuni e il modo per evitarli. |
|
Viene descritto come realizzare il parallelismo dei dati con le query LINQ. |
|
Nodo di livello superiore per la programmazione parallela di .NET. |