Код: Выделить всё
Parallel.ForEach(DatafromDB,
item => { DownloadSSR(mediator, sourcePath, item,stoppingToken).Wait();
});
Task1 говорит занимает 15 минут, а другие задачи - 1 минуту соответственно, в этом случае мы ждем завершения всех задач.
Чтобы добиться этого, у меня есть еще один вариант - "Макс.степеньпараллелизма"
Код: Выделить всё
Parallel.ForEach(DatafromDB,
new ParallelOptions { MaxDegreeOfParallelism = 3},
item => { DownloadSSR(mediator, sourcePath, item,stoppingToken).Wait();
});
Например: если есть 3 данных, из которых я получил БД, тогда тот же источник данных используется для параллельного выполнения задач.
Вот чего я хочу достичь -
- Я хочу запускать задачи параллельно.
- Мне не нужно ждать завершения других задач
- Если одна задача выполнена, назначьте ей другую работу (перейдите в базу данных, получите данные и назначьте новую работу)
Подробнее здесь: https://stackoverflow.com/questions/786 ... o-complete