Несколько одновременных сетевых загрузок в разных потоках - C#
Формулировка задачи:
Создается произвольно количество потоков с сетевыми обращениями
Файлы для скачивания бывают достаточно большими (несколько мб) - вот я и заметил, что одновременно больше двух скачиваний не происходит (как только два потока доходят до GetResponse - ну обращаются к ответу - все остальные весят пока не получат ошибку Timeout (если файлы большие и таймаут маленький)). От чего это может зависеть? Проверял на разных серверах, результат тот же.
После GetResponse идет запись в поток файла и вывод, если ставлю после GetResponse блокировку потока, все остальные все ведут себя так же, как и без блокировки. Как лучше организовать и синхронизировать большое кол-во потоков. Просто бывают ситуации, когда качаются большие файлы, а из-за них не начинают скачиваться несколько маленьких. Заранее задавать последовательность файлов невозможно.
WebRequest myWebRequest=WebRequest.Create("..."); ... WebResponse myWebResponse=myWebRequest.GetResponse();
Решение задачи: «Несколько одновременных сетевых загрузок в разных потоках»
textual
Листинг программы
myHttpWebResponse.Close();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д