Параллельное выполнение операций ввода-вывода
Я прочитал обложку документов TPL и библиотеки задач. Но я все еще не мог понять следующий случай очень четко, и сейчас мне нужно его реализовать.
Я упросту мою ситуацию. у меня естьIEnumerable<Uri>
длиной 1000. Я должен сделать запрос на них, используяHttpClient
.
У меня два вопроса.
Естьне много вычисленийпросто жду Http-запроса. В этом случае я все еще могу использоватьParallel.Foreach()
?В случае использованияTask
вместо этого, какова лучшая практика для создания их огромного количества? Допустим, я используюTask.Factory.StartNew()
и добавьте эти задачи в список и дождитесь их всех. Есть ли функция (например, разделитель TPL), которая контролирует количество максимальных задач и максимумHttpClient
Я могу создать?Есть пара похожих вопросов по SO, но никто не упоминаетмаксимумы, Требование состоит в том, чтобы просто использовать максимум задач с максимальным значением HttpClient.
Заранее спасибо.