Задать вопрос
@dj_raphael

Проблема с Task.WhenAny, не запускает все таски сразу, Как решить?

Пишу приложение на C# с async await, которое загружает данные по url и парсит.
Экспериментально выяснил что 500 одновременных задач нагружают мой комп наиболее эффективно.
Создаю малый список из 500 тасок и когда пишу Task.WhenAll(tasks) все таски стартуют одновременно и заканчиваются когда придётся. Переписал на Task.WhenAny(tasks) - удаляю завершавшиеся и добавляю новые до 500, чтобы держать постоянно запущенными 500 тасок. Но не запускается больше 60 тасок одновременно. Оказалось что Task.WhenAny стартует таски по очереди с интервалом примерно в 1 секунду.

Подскажите как написать чтобы работало эффективно, возвращаться к тредам очень неохота.
VS2013 Update2 WPF C# .NET 4.5
  • Вопрос задан
  • 3012 просмотров
Подписаться 3 3 комментария
Подписчики вопроса 3 К ответам на вопрос (1)