100 узлов. Допустим, на соединение с узлом и скачивание тратится 15 минут. В одном потоке обработать 100 узлов займёт 25 часов. В 100 потоках 15 минут.
Или 200 узлов. В данном случае в одном потоке это будет 50 часов, в 200 потоках... ты не поверишь... снова 15 минут.
Не факт. Скорость скачивания файла зависит, главным образом, от
ширины пропускаемого канала.
На самом деле, создание TCP/IP-соединений и скачивание файлов можно реализовать в одном потоке путём использования
неблокирующего режима, когда программа работает с сокетами через события Event. Кстати, иногда веб-серверы ограничивают скорость отдачи данных по каждому TCP/IP-соединению, тогда браузеры пытаются создать
дополнительные соединения и скачивать файлы с директивой Range в HTTP-заголовках, но веб-серверы, в зависимости от настроек, обычно отвергают такие множественные соединения для обращения к одному ресурсу.
Вообще, описанная схема со множеством потоков, наверно, более актуальна для отправки
ICMP-пакетов, когда необходимо
быстро проверять узлы сети на доступность, пингуя большое количество IP-адресов.