我有要处理的批次列表。永远。
我想并行执行每个块(5),并在完成后移至下一个块。
出于某种原因,下面的代码不会等待块完成并继续,即使它没有完成。
while (true)
{
foreach (string[] urlsArr in chunks)
{
int i = 0;
foreach (var url in urlsArr)
{
ThreadPool.QueueUserWorkItem(x =>
{
ProccessUrl(url, config, drivers[i]);
_resetEvent.Set();
i++;
});
}
_resetEvent.WaitOne();// this is not really waiting.
}
}