Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Task Parallel Library (TPL) è un set di tipi pubblici e API nei namespace System.Threading e System.Threading.Tasks. Lo scopo del TPL è rendere gli sviluppatori più produttivi semplificando il processo di aggiunta di parallelismo e concorrenza alle applicazioni. Il TPL ridimensiona in modo dinamico il grado di concorrenza per usare tutti i processori disponibili in modo più efficiente. Inoltre, il TPL gestisce 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. Usando TPL, è possibile ottimizzare le prestazioni del codice concentrandosi sul lavoro che il programma è progettato per eseguire.
In .NET Framework 4 il TPL è il modo preferito per scrivere codice multithreading e parallelo. Tuttavia, non tutto il codice è adatto per la parallelizzazione. Ad esempio, se un ciclo esegue solo una piccola quantità di lavoro su ogni iterazione o non viene eseguito per molte iterazioni, l'overhead della parallelizzazione può causare un'esecuzione più lenta del codice. Inoltre, la parallelizzazione, come qualsiasi codice multithreading, aggiunge complessità all'esecuzione del programma. Anche se il TPL semplifica gli scenari multithreading, è consigliabile avere una conoscenza di base dei concetti di threading, ad esempio blocchi, deadlock e race condition, in modo da poter usare in modo efficace il TPL.
Articoli correlati
Titolo | Descrizione |
---|---|
parallelismo dei dati | Viene illustrato come creare cicli for e foreach paralleli (For e For Each in Visual Basic). |
Programmazione asincrona basata su attività | Viene descritto come creare ed eseguire attività in modo implicito usando Parallel.Invoke o in modo esplicito tramite Task oggetti direttamente. |
Flusso di dati | Viene descritto come usare i componenti del flusso di dati nella libreria di flussi di dati TPL per gestire più operazioni. Queste operazioni devono comunicare tra loro ed elaborare i dati man mano che diventano disponibili. |
Potenziali insidie nel parallelismo di dati e attività | Descrive alcune insidie comuni e come evitarle. |
LINQ parallelo (PLINQ) | Viene descritto come ottenere il parallelismo dei dati con le query LINQ. |
programmazione parallela | Nodo di primo livello per la programmazione parallela .NET. |
Vedere anche
- Esempi di codice per la programmazione parallela con .NET Core & .NET Standard