2012-10-10 122 views
0

林試圖找出如何找出當隊列中的所有我的threads完成。當他們這樣做,我想顯示MessageBox說像「操作完成」。Smartthreadpool如何知道所有線程何時完成?

這是我使用排隊我的線程代碼:

Smart.STPStartInfo stpStartInfo = new Smart.STPStartInfo(); 
stpStartInfo.MaxWorkerThreads = Convert.ToInt32(numericUpDown5.Value); 
stpStartInfo.MinWorkerThreads = 2; 
_smartThreadPool = new Smart.SmartThreadPool(stpStartInfo); 

foreach (string item in urlQueue) 
{ 
    _smartThreadPool.QueueWorkItem(
     new Amib.Threading.Func<string, int, int, string, int>(checkURLSmart), 
           item, iia, 5000, kryptonTextBox1.Text); 

    iia++; 
} 

任何想法如何,當所有線程都完成自己的工作知道嗎?

+0

什麼的.NET版本,以及爲什麼使用(智能)線程池?任務(TPL)可用嗎? –

+0

我正在使用.NET 4.0。不知道TPL是什麼:/ – Jacqueline

+1

Duplicate post:http://stackoverflow.com/questions/12795439/smartthreadpool-blocking-ui-thread –

回答