Condividi tramite


Programmazione parallela in .NET Framework

Un numero elevato di personal computer e workstation è dotato di due o quattro core (ovvero CPU) che consentono l'esecuzione simultanea di più thread. Ci si aspetta di qui a breve che i computer saranno dotati di un numero di core significativamente più elevato. Per sfruttare l'hardware di oggi e quello del futuro, è possibile parallelizzare il codice per distribuire il lavoro su più processori. In passato la parallelizzazione richiedeva la modifica di basso livello di thread e blocchi. Visual Studio 2010 e .NET Framework 4 migliorano il supporto per la programmazione parallela fornendo un nuovo runtime, nuovi tipi di librerie di classi e i nuovi strumenti diagnostici. Tali funzionalità semplificano lo sviluppo parallelo consentendo di scrivere codice parallelo efficiente, con granularità fine e scalabile in un linguaggio naturale senza dover utilizzare direttamente i thread o il pool di thread. Nell'illustrazione seguente viene fornita una panoramica dettagliata dell'architettura di programmazione parallela in .NET Framework 4.

Architettura di programmazione parallela .NET

Argomenti correlati

Tecnologia

Descrizione

Task Parallel Library

Viene fornita documentazione per la classe System.Threading.Tasks.Parallel che include versioni parallele dei cicli For e ForEach, nonché per la classe System.Threading.Tasks.Task che rappresenta la modalità preferita per l'espressione di operazioni asincrone.

Parallel LINQ (PLINQ)

Un'implementazione parallela di LINQ to Objects che migliora significativamente le prestazioni in molti scenari.

Strutture di dati per la programmazione in parallelo

Vengono forniti collegamenti alla documentazione per classi di insiemi thread-safe, tipi di sincronizzazioni leggere e tipi per l'inizializzazione differita.

Strumenti di diagnostica in parallelo

Vengono forniti collegamenti alla documentazione per le finestre del debugger di Visual Studio per le attività e stack paralleli e Visualizzatore di concorrenze, che è costituito da un set di visualizzazioni nel Profiler Visual Studio Application Lifecycle Management che è possibile utilizzare per eseguire il debug e ottimizzare le prestazioni del codice parallelo.

Partitioner personalizzati per PLINQ e TPL

Viene descritto come funzionano i partitioner e come configurare i partitioner predefiniti o creare un nuovo partitioner.

Factory delle attività

Viene descritto il ruolo della classe System.Threading.Tasks.TaskFactory.

Utilità di pianificazione delle attività

Viene descritto come funziona l'utilità di pianificazione e come possono essere configurate le utilità di pianificazione predefinite.

Espressioni lambda in PLINQ e TPL

Viene fornita una breve panoramica delle espressioni lambda in C# e Visual Basic e ne viene mostrato l'utilizzo in PLINQ e Task Parallel Library.

Risorse di approfondimento (programmazione in parallelo)

Vengono forniti collegamenti a documentazione aggiuntiva e risorse di esempio per la programmazione parallela in .NET Framework.

Sviluppo .NET Framework avanzato

Nodo di livello superiore per gli argomenti avanzati quali threading e programmazione parallela.

Vedere anche

Altre risorse

Documento contenente una panoramica dei modelli per la programmazione parallela, ovvero come comprendere e applicare modelli paralleli con .NET Framework 4