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