2013-05-11 96 views
-1

我有以下代碼:引用和關閉線程立即

public class GUI 
{ 
    public void threadTask() 
    { 
     while(MY_GLOBAL_VARIABLE) 
     { 
      // do something 
     }    
    } 
} 

// Execute Thread 
GUI gui = new GUI(); 
Thread t = new Thread(threadTask); 
t.Start(); 

這似乎是一個混亂的方式做到這一點。任何更好的方法如何引用它並立即殺死它?謝謝!

更新:誰曾經給我一個downvote,學習閱讀!我明確指出了我想要在標題,標籤和代碼中「殺」的內容,至少下次在投票前閱讀帖子。

+0

「殺了它」是什麼意思?殺什麼? – 2013-05-11 16:06:14

+2

你的問題不清楚。 「引用它並立即殺死它」是什麼意思? – Andreas 2013-05-11 16:06:36

+0

顯然是'線程'。 – Kristian 2013-05-11 16:09:57

回答

1

你不殺/處置一個線程,它沒有IDisposable。

您可以將線程啓動放入一個方法中,以便在第一次完成時可以多次調用它。

您可以使用:

t.Join(); 

趕上當線程完成。

對Join()的調用是取消分配線程的內容。你不必做任何事情。只要確保線程在退出之前清理了可能使用的任何資源。

2

你有沒有問題,線程一旦完成處理就會被清理乾淨。