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.
Argomenti correlati
Tecnologia |
Descrizione |
---|---|
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. |
|
Un'implementazione parallela di LINQ to Objects che migliora significativamente le prestazioni in molti scenari. |
|
Vengono forniti collegamenti alla documentazione per classi di insiemi thread-safe, tipi di sincronizzazioni leggere e tipi per l'inizializzazione differita. |
|
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. |
|
Viene descritto come funzionano i partitioner e come configurare i partitioner predefiniti o creare un nuovo partitioner. |
|
Viene descritto il ruolo della classe System.Threading.Tasks.TaskFactory. |
|
Viene descritto come funziona l'utilità di pianificazione e come possono essere configurate le utilità di pianificazione predefinite. |
|
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. |
|
Vengono forniti collegamenti a documentazione aggiuntiva e risorse di esempio per la programmazione parallela in .NET Framework. |
|
Nodo di livello superiore per gli argomenti avanzati quali threading e programmazione parallela. |