我不理解单CPU的情况下,多线程下载是如何发挥他的优势的,我的理解是一个CPU的情况下,单线程和多线程应该一样吧.
另外,多线程一般都用在什么情况下?

解决方案 »

  1.   

    谁说一定多线程比单线程快了?
    一般长时间等待的操作可以放在新的线程里面, 比如NET,数据库等等。
      

  2.   

    我的理解是可以提高用户的体验,比如服务器可以并发的接受多个请求,单CPU的情况下,通过时间分片机制,耗时少的可以很快完成运行
      

  3.   

    在单CPU系统里,多线程下载只有当网络情况不好的时候才比单线程有优越性,因为一个线程在下载时可能因为要读取的数据块难以获得或者网络拥塞导致数据包丢失,结果迟迟不能工作完毕,而另一个线程就可以接替工作(除非它同时也遇到同样的问题,而这个概率是较小的),从而整体上来说,总的效率就提高了。线程越多,相应的效率就会越高。