林試圖找出如何找出當隊列中的所有我的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++;
}
任何想法如何,當所有線程都完成自己的工作知道嗎?
什麼的.NET版本,以及爲什麼使用(智能)線程池?任務(TPL)可用嗎? –
我正在使用.NET 4.0。不知道TPL是什麼:/ – Jacqueline
Duplicate post:http://stackoverflow.com/questions/12795439/smartthreadpool-blocking-ui-thread –