多线程问题,菜鸟提问

ooo19841080xinxin 2007-11-19 12:30:47
我不理解单CPU的情况下,多线程下载是如何发挥他的优势的,我的理解是一个CPU的情况下,单线程和多线程应该一样吧.
另外,多线程一般都用在什么情况下?
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixkyx 2007-12-06
  • 打赏
  • 举报
回复
而如果网络通信是完美的,没有时延或者错误,那么多线程和单线程的速度是一样的,甚至可能更慢一点点,因为线程的切换也需要开销。
lixkyx 2007-12-06
  • 打赏
  • 举报
回复
在单CPU系统里,多线程下载只有当网络情况不好的时候才比单线程有优越性,因为一个线程在下载时可能因为要读取的数据块难以获得或者网络拥塞导致数据包丢失,结果迟迟不能工作完毕,而另一个线程就可以接替工作(除非它同时也遇到同样的问题,而这个概率是较小的),从而整体上来说,总的效率就提高了。线程越多,相应的效率就会越高。
ftgreat 2007-11-19
  • 打赏
  • 举报
回复
多线程使得相同程序的不同线程间交互方便,他们可以更方便地共享资源。
lpingxh 2007-11-19
  • 打赏
  • 举报
回复
我的理解是可以提高用户的体验,比如服务器可以并发的接受多个请求,单CPU的情况下,通过时间分片机制,耗时少的可以很快完成运行
wxy32 2007-11-19
  • 打赏
  • 举报
回复
多线程下载我的理解是文件分块读取,最后合并,这样应该会把网络延迟产生的等降到最低.
yulin001122 2007-11-19
  • 打赏
  • 举报
回复
谁说一定多线程比单线程快了?


一般长时间等待的操作可以放在新的线程里面, 比如NET,数据库等等。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧