一个程序内,最多可以开多少个线程才最好?

infochina2004 2010-03-20 11:15:38
一个程序内,最多可以开多少个线程才最好?(程序运行稳定可靠,资源占用少)
...全文
1893 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
wocow3 2011-01-22
  • 打赏
  • 举报
回复
经验法则是CPU*2能有最好的CPU利用率
zyrr159487 2011-01-22
  • 打赏
  • 举报
回复
我也想知道开多少个线程才会崩溃
I_NBFA 2011-01-22
  • 打赏
  • 举报
回复
噩梦噩梦噩梦
I_NBFA 2011-01-22
  • 打赏
  • 举报
回复
其实是这样的,能不开就不开,多线程是编码的梦啊
dxshenhua 2011-01-21
  • 打赏
  • 举报
回复
君不见,系统的进程数量多少,线程数量更是不计其数,也没见系统慢死,关键是很多线程平时是挂起的。话说回来,普遍认为线程多了性能下降,更多的不是因为线程本身的开销,而是线程一般相互之间是有关联的,这里面的线程切换带来的开销更大。
总之要看你各个线程的工作强度,如果都需要工作在高强度的,比如一个线程负责一路采集解码工作,开多不如开少,实在不想细究,那么8条线程以内,以现在的计算机运行速度,一般的强度不至于有什么大问题。
Torch009 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wizardk 的回复:]
。。。无语
[/Quote]
++
wangbo56916860 2011-01-12
  • 打赏
  • 举报
回复
取决于业务需求
mayudong1 2011-01-12
  • 打赏
  • 举报
回复
开一个线程最稳定
dongsqi 2011-01-12
  • 打赏
  • 举报
回复
cpu核数*2
infochina2004 2010-03-23
  • 打赏
  • 举报
回复
假如我想做一个工业监控程序,需要监控至少500个点,并且最少有100各点要求实时性比较高,那我是不是就要在一个程序中建立至少100个以上的线程,如果是这样的话,那程序还能运行吗?如果不采用线程监控的方式那还有什么好的办法呢?采用事件驱动或端口轮询方式能保证它的实时性能吗?我不知道工业控制上采用的组态软件在这方面是如何实现的。希望各位专家能给与答复。
dirdirdir3 2010-03-23
  • 打赏
  • 举报
回复
开线程是要占用系统资源的,而且线程之间切换也是要时间的(特别是多cpu的机器)。
因此如果吞吐量很大(cpu占用很高)的话一般是推荐cpu*2的线程,而且最好指定使用cpu。不过这个也是看情况的,不能一概定论.........
Abcix 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dingnifei123 的回复:]
多线程编程上说最好是:CPU核数×2
[/Quote]网络服务器的IOCP说的基本跟3楼一样,cpu数量*2,或 cpu数量*2+2
lixung 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 infochina2004 的回复:]
一个程序内,最多可以开多少个线程才最好?(程序运行稳定可靠,资源占用少)
[/Quote]


帮顶,不过我觉得也的看你运行程序系统的状态,还有你应用的要求
Eleven 2010-03-21
  • 打赏
  • 举报
回复
看情况而定。。。
mszjk 2010-03-21
  • 打赏
  • 举报
回复
跟cpu核心数目一样多.
chenweiye120 2010-03-21
  • 打赏
  • 举报
回复
多少都行,只要代码精简快速。
Dingnifei123 2010-03-21
  • 打赏
  • 举报
回复
多线程编程上说最好是:CPU核数×2
kone123 2010-03-21
  • 打赏
  • 举报
回复
学习了
康斯坦汀 2010-03-21
  • 打赏
  • 举报
回复
刚看了一下我的机器,photoshop开了10个线程,VC6开了17个线程,
360开了30个线程,IE开了40个线程!

楼主你说开多少才好呢?
这不是鸭头 2010-03-21
  • 打赏
  • 举报
回复
加载更多回复(6)

1,650

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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