在贏窗體應用程序,我有螺紋的一個數組,啓動這樣的:確保所有線程退出
bool stop = false;
Thread[] threads = new Thread[10];
for (int i = 0; i < threads.Length; i++)
threads[i] = new Thread(new ThreadStart(Job));
// How to make sure all threads have exited, when the boolean = false
void Job()
{
while (!stop)
// Do something
}
現在,如果用戶按STOP,爲stop
布爾值設置爲true,那麼線程一個接一個退出Job
方法。我如何確保所有線程退出?
注意:我需要傳統線程爲我的情況和TaskLibrary
不符合我的情況。
把這段代碼放在哪裏?這是一個勝利形式的應用程序,UI線程在創建新線程後發佈。 – Xaqron 2011-06-09 02:35:39
如果UI已經發布,那麼爲什麼要擔心?但嚴重的是,我會將它放在處理按下停止按鈕的方法中。 – 2011-06-09 02:39:32
我想禁止程序退出,直到所有線程退出。如果用戶關閉主窗體並且任務管理器中有一些活動線程,用戶覺得應用程序失敗(儘管所有線程都會在一段時間後退出) – Xaqron 2011-06-09 02:50:19