0

我试图弄清楚如何找出threads队列中的所有内容何时完成..当他们完成时,我想显示MessageBox类似“操作完成”的说法。

这是我用来排队我的线程的代码:

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++;
}

任何想法如何知道所有线程何时完成工作?

4

1 回答 1

0

您可以在 SmartThreadPool 上使用 WaitAll 或 WaitAny。

http://www.codeproject.com/Articles/7933/Smart-Thread-Pool#Feature4

于 2012-10-10T18:41:25.967 回答