Multithreading nei componenti
Aggiornamento: novembre 2007
Il componente BackgroundWorker implementa alcune funzionalità di threading nello spazio dei nomi System.Threading. Tale componente rappresenta il modo più semplice per l'implementazione delle funzionalità di multithreading. Per ulteriori informazioni, vedere Cenni preliminari sul componente BackgroundWorker.
Con il termine multithreading o modello di threading Free si intende la capacità di un'applicazione di eseguire contemporaneamente più thread di operazioni. Un esempio di applicazione multithreading è rappresentata da un programma che riceve l'input dell'utente su un thread, esegue un'ampia gamma di calcoli complessi su un secondo thread e aggiorna un database su un terzo thread. In un'applicazione a thread singolo è possibile che un utente impieghi del tempo ad attendere il completamento dei calcoli o degli aggiornamenti del database. In un'applicazione con multithreading questi processi possono essere eseguiti in background, evitando inutili sprechi di tempo.
Il multithreading può essere uno strumento potente da utilizzare nella programmazione dei componenti. Creando dei componenti multithreading è possibile ottenere componenti in grado di eseguire in background calcoli complessi, lasciando l'interfaccia utente libera di rispondere agli input dell'utente.
Anche se il multithreading può essere uno strumento potente, l'applicazione corretta del multithreading può rivelarsi piuttosto complessa. L'implementazione non corretta del codice multithreading può comportare un rallentamento delle prestazioni delle applicazioni o causare persino un blocco delle applicazioni. Negli argomenti riportati di seguito viene fornita un'introduzione ad alcune considerazioni e suggerimenti utili per la programmazione multithreading.
.NET Framework offre numerose opzioni per il multithreading nei componenti. La funzionalità presente nello spazio dei nomi System.Threading è un'opzione. Un'altra opzione è rappresentata dal modello asincrono. Il componente BackgroundWorker è un'implementazione del modello asincrono e fornisce la funzionalità avanzata incapsulata in un componente per ottenere una maggiore semplicità di utilizzo.
In questa sezione
- Programmazione multithread per componenti con System.Threading
Viene descritto l'utilizzo dello spazio dei nomi System.Threading per creare componenti multithreading.
Riferimenti
Classe BackgroundWorker
Consente di eseguire un'operazione su un thread dedicato separato.Thread
Sono riportate informazioni sulla sintassi e sui membri dal riferimento a .NET Framework.
Sezioni correlate
Programmazione multithreading con il modello asincrono basato su eventi
Descrive il metodo standard per includere un componente che dispone di funzioni asincrone.Multithreading in Visual Basic
Sono riportati collegamenti a un'ampia gamma di argomenti relativi all'utilizzo del multithreading con Visual Basic.Suggerimenti per l'utilizzo del threading gestito
Fornisce linee guida per l'utilizzo delle funzioni di threading gestite.