Condividi tramite


Esempio di tecnologia join di thread

Aggiornamento: novembre 2007

In questo esempio viene illustrata la funzionalità di threading di Common Language Runtime che consente a un thread di attendere la terminazione, o di eseguire il "join", di un altro thread. Nell'esempio viene creato un secondo thread, avviato mediante l'esecuzione di un metodo statico della classe App. Il thread primario attende quindi la terminazione del secondo thread eseguendo una chiamata al metodo Join.

Per ulteriori informazioni sul threading, vedere i commenti nei file di codice sorgente.

Per ulteriori informazioni sull'utilizzo degli esempi, vedere i seguenti argomenti:

Download sample

Per compilare l'esempio utilizzando il prompt dei comandi

  1. Aprire una finestra del prompt dei comandi, quindi spostarsi in una delle sottodirectory specifiche del linguaggio relative all'esempio.

  2. Dalla riga di comando digitare msbuild JoinThreadCS.sln o msbuild JoinThreadVB.sln, a seconda del linguaggio di programmazione che si desidera utilizzare.

Per compilare l'esempio utilizzando Visual Studio

  1. Aprire Esplora risorse, quindi spostarsi in una delle sottodirectory specifiche del linguaggio relative all'esempio.

  2. Fare doppio clic sull'icona relativa a JoinThreadCS.sln o JoinThreadVB.sln, a seconda del linguaggio di programmazione che si desidera utilizzare, per aprire il file in Visual Studio.

  3. Scegliere Compila soluzione dal menu Compila.

Per eseguire l’esempio

  1. Spostarsi nella directory contenente il nuovo eseguibile, utilizzando il prompt dei comandi.

  2. Digitare JoinThread.exe dalla riga di comando.

Nota:

L'esempio compila un'applicazione console. Per visualizzare l'output dell'applicazione, è necessario avviarla ed eseguirla in una finestra del prompt dei comandi.

Osservazioni

Nell'elenco riportato di seguito vengono descritte in modo sintetico le classi e le tecnologie utilizzate dall'esempio.

  • Sincronizzazione di thread

    • Thread - Nell'esempio viene creato un nuovo thread e viene chiamato il relativo metodo Start. Successivamente, viene utilizzato il metodo Join per attendere che il secondo thread termini. Se questa chiamata non viene effettuata, può verificarsi una race condition tra i due thread. In questo caso, il secondo thread potrebbe non essere in grado di terminare l'elaborazione prima della chiusura dell'applicazione.
  • Delegati

    • ThreadStart - Consente di creare un metodo di callback indipendente dai tipi per il thread.

Vedere anche

Concetti

Thread e threading

Riferimenti

AutoResetEvent

Delegate

Interlocked

Mutex

System.Threading

ThreadPool

WaitCallback

WaitHandle

Altre risorse

Oggetti e funzionalità del threading