2012-07-12 12 views
11
Thread myThread = new Thread(new ParameterizedThreadStart(threadFunction)); 

public void threadFunction() { 
// Run a finite code 
... 
} 

La domanda è: sarà myThread smaltire una volta threadFunction() è finito?Un thread si interrompe automaticamente una volta che la funzione è finita?

+0

Eventualmente; al termine della funzione, lo stato del thread è impostato su "Stopped" e alla fine verrà raccolto. Vedi anche: http://stackoverflow.com/questions/81730/what-prevents-a-thread-in-c-sharp-from-being-collected – dash

+0

Sì, la tua discussione verrà automaticamente eliminata una volta completata la sua esecuzione. – Siddiqui

risposta

16

I fili non devono essere smaltiti. La classe Thread non implementa IDisposable e non ha un metodo Dispose.

Quando il thread è completo, non è necessario eseguire operazioni speciali per la pulizia.

2

SI .. il filo si fermerà e verrà disposta una volta che la funzione restituisce ..
per tenere il filo si dovrà fare qualcosa di simile

while(true){} 

In alternativa, se non volete il tuo thread di essere disposto perché la creazione di un nuovo thread consuma risorse
si dovrebbe usare un ThreadPool c'è una classe con lo stesso nome in. Netto.
quindi ogni volta che è necessario un thread verrà recuperato dal pool di thread e utilizzato

Problemi correlati