Threading gestito
Generalmente l'obiettivo del programmatore è di sviluppare applicazioni in grado di garantire tempi di risposta veloci anche se sono in esecuzione altre attività, in computer con uno o più processori. L'utilizzo di più thread di esecuzione è uno dei metodi più efficaci per raggiungere questo risultato e per fare uso al tempo stesso del processore tra un evento e l'altro o persino durante gli eventi. Introducendo i concetti di base del threading, in questa sezione verrà trattato in particolar modo il threading gestito e ne verrà descritto l'utilizzo.
Nota |
---|
A partire da .NET Framework versione 4, la programmazione multithreading viene semplificata notevolmente con le classi System.Threading.Tasks.Parallel e System.Threading.Tasks.Task, Parallel LINQ (PLINQ), le nuove classi Collection simultanee nello spazio dei nomi System.Collections.Concurrent e un nuovo modello di programmazione basato sul concetto di attività anziché di thread.Per ulteriori informazioni, vedere Programmazione parallela in .NET Framework. |
In questa sezione
Nozioni di base sul threading gestito
Vengono forniti i cenni preliminari sul threading gestito e le indicazioni per stabilire quando utilizzare più thread.Utilizzo di thread e threading
Vengono illustrati la creazione, l'avvio, la sospensione, la ripresa e l'interruzione dei thread.Suggerimenti per l'utilizzo del threading gestito
Vengono illustrati i livelli di sincronizzazione, come evitare deadlock e race condition, i computer a processore unico e a più processori e altri problemi relativi al threading.Oggetti e funzionalità del threading
Vengono descritte le classi gestite che è possibile utilizzare per sincronizzare le attività dei thread e i dati degli oggetti a cui si accede in thread diversi e viene fornita una panoramica sui thread dei pool di thread.
Riferimenti
System.Threading
Vengono fornite le classi che consentono di utilizzare e sincronizzare i thread gestiti.System.Collections.Concurrent
Contiene classi Collection che è possibile utilizzare con più thread.System.Threading.Tasks
Contiene classi per la creazione e la pianificazione di attività di elaborazione simultanee.
Sezioni correlate
Domini applicazione
Viene fornita una descrizione dei domini dell'applicazione e dell'uso da parte di Common Language Infrastructure.I/O di file asincrono
Vengono descritti il funzionamento di base dell'I/O asincrono e i relativi vantaggi in termini di prestazioni.Modelli di progettazione della programmazione asincrona
Viene fornita una descrizione generale della programmazione asincrona.Chiamata asincrona dei metodi sincroni
Viene illustrato come chiamare i metodi sui thread di un pool utilizzando le funzionalità incorporate dei delegati.Programmazione parallela in .NET Framework
Vengono descritte le librerie per la programmazione parallela, che semplificano l'utilizzo di più thread nelle applicazioni.Parallel LINQ (PLINQ)
Viene descritto un sistema per l'esecuzione di query in parallelo, per sfruttare più processori.