Ожидание завершения 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д