我试图弄清楚如何找出队列中的所有threads
何时完成...当它们完成时我想显示MessageBox
类似“操作已完成”的内容。< / p>
这是我用来排队我的线程的代码:
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 :(得分:0)
您可以在SmartThreadPool上使用WaitAll或WaitAny。
http://www.codeproject.com/Articles/7933/Smart-Thread-Pool#Feature4