Ожидание завершения threadpool - где ошибка - C#
Формулировка задачи:
Добрый день!
Есть массив файлов aFiles, который хочу обработать методом check() через ThreadPool. При этом мне нужно, чтобы программа подождала завершения всех процессов. Пишу:
Но на строчке:
выдает, что индекс находится за пределами массива. Подскажите, что неправильно в коде?
int c = 0;
int FilesCount = aFiles.Length;
DateTime dtStart = DateTime.Now;
var handles = new ManualResetEvent[FilesCount];
foreach (string file in aFiles)
{
handles[c] = new ManualResetEvent(false);
c++;
var currentHandle = handles[c];
ThreadPool.QueueUserWorkItem(arg =>
{
try
{
Check((object)file);
}
finally { currentHandle.Set(); }
});
}
WaitHandle.WaitAll(handles);var currentHandle = handles[c];
Решение задачи: «Ожидание завершения threadpool - где ошибка»
textual
Листинг программы
WaitHandle.WaitAll(handles);