foreach (string file in listToConvert)
{
BackgroundWorker backgroundWorker = new BackgroundWorker();
backgroundWorker.WorkerReportsProgress = true;
backgroundWorker.DoWork += new DoWorkEventHandler(
(s3, e3) =>
{
newFile = sendFilesToConvert(file);
});
backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(
(s3, e3) =>
{
listBoxFiles.Items.Add(newFile);
});
backgroundWorker.RunWorkerAsync();
}
каждый файл из списка будет преобразован в другой, и я хочу, чтобы каждый BackgroundWorker будет ждать, пока он не закончит преобразование, и только тогда следующий BackgroundWorker запустит , как я могу это сделать?Возможно ли, что BackgroundWorker будет ждать другого?
Почему вы не хотите преобразовывать все файлы в один BackgroundWorker? – oxilumin
Почему вы хотите использовать фоновые работники? В любом случае вы можете просто начать работу с новыми работниками в завершенном событии каждого предыдущего. –
Какую версию .Net вы используете. Если вы используете 4.0, вы можете использовать один рабочий стол и параллельную очередь. – pstrjds