一个排序的时间问题

xuhai822 2006-11-02 11:13:17
有两组数据,都在内存中,对它们排序分别需要1和2分钟,那么使用两个线程一起排序,大概需要多少时间?

帮帮忙,谢谢各位高手!
...全文
300 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞哥 2006-11-04
  • 打赏
  • 举报
回复
多线程在多CPU的情况下可以显著提高效率
单CPU的情况下
是将CPU的空闲时间给非主线程或较低优先级的线程使用
但同时带来一些消耗的问题
比如线程的创建,分配资源,同步等待
所以设计不合理的线程反而效率更差
只有当要处理的过程非常耗时才使用线程
如果不是很耗时
可以采取其他的技巧让程序看起来不是很耗时。。。
39457760 2006-11-02
  • 打赏
  • 举报
回复
楼上的,有可能大于3阿
单核情况下,线程切换是要花时间的:1+2+(线程切换时间)
不过2分钟应该是下限了!!!
yleiou 2006-11-02
  • 打赏
  • 举报
回复
是 大于2 小于3的一个数吧
HappyTree 2006-11-02
  • 打赏
  • 举报
回复
没试验过,从CPU时间上来说只会多不会少,因为要考虑到线程之间的切换。
当然,直观感觉的时间可能会少,因为两个线程一起工作,其占用CPU时间的比例肯定比单个会高一些。
adintr 2006-11-02
  • 打赏
  • 举报
回复
3 分钟
fflush 2006-11-02
  • 打赏
  • 举报
回复
如果是单核的,3分钟。多核的,取决于体系结构和你怎么写程序了。不谢

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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