2011-11-04 70 views

回答

0

使用多线程进行网络任务的原因是一个线程可能正在等待来自远程服务器的响应。创建多个线程可以帮助您一次至少有一个线程从不同的请求下载。

0

一次发布多个网络请求的常见原因(隐式地与用户线程或隐含在内核线程和异步回调中)是网络延迟的影响可以最小化。延迟可以产生很大的影响。例如,网络连接首先需要进行DNS查找,然后是TCP 3路连接,然后进行一些数据传输,最后再进行4路关闭。如果页面尺寸较小且带宽较大,则大部分时间都用于等待协议交换。因此,如果您要爬取多个服务器,即使在单核计算机上,多线程设计的速度也要快得多。如果您正在从一台服务器下载单个视频文件,则不需要太多..