“处理的慢?那再加 500 个线程!”

2016-08-11 10:28:16 +08:00
 yxaaa123

这样加线程。。。。真的合适吗?

6909 次点击
所在节点    Java
38 条回复
wizardforcel
2016-08-11 10:29:51 +08:00
没那么多核也没用啊。
jimzhong
2016-08-11 10:29:56 +08:00
对于运算密集型的场合一般是不合适的
UnisandK
2016-08-11 10:30:42 +08:00
这是给太湖之光在写程序吗
feilaoda
2016-08-11 10:31:16 +08:00
不合适
除非你机器 nb 的不行
wander2008
2016-08-11 10:32:07 +08:00
这么说的,对多线程理解比较初级
sarike
2016-08-11 10:34:00 +08:00
同时在加 500 个核,是好使的。
tabris17
2016-08-11 10:34:20 +08:00
建议总线程数=CPU 内核数*2+1
mko0okmko0
2016-08-11 10:35:51 +08:00
最佳公式不是相同任务的线程=((cpu 核心数量 x2)+1)吗?
线程太多切换线程本身就有虚耗.
qzy168
2016-08-11 10:44:25 +08:00
啥服务器有那么多线程呀?云计算吗?
zhuangzhuang1988
2016-08-11 10:48:23 +08:00
先 visutalstudio 性能分析一下..
domty
2016-08-11 10:49:09 +08:00
没用吧,核心不够多线程间切换的开销反而更浪费资源
just4test
2016-08-11 10:58:32 +08:00
@tabris17 为什么是这个数量?
tabris17
2016-08-11 11:00:38 +08:00
@just4test 经验公式
harry890829
2016-08-11 11:01:41 +08:00
为什么不是用多进程……
zmj1316
2016-08-11 11:10:16 +08:00
遇到过大量加线程性能提升的现象,最后发现其实是线程负载不均衡,先结束的线程在等待,所以疯狂加效果显著,虽然切换损失也很大。最后把负载均衡就正常了,建议跑个 profiler 看看
em70
2016-08-11 11:12:58 +08:00
饭不够吃?再给你拿双筷子吧
hush
2016-08-11 11:15:18 +08:00
1 个女人怀胎 10 月生一个小孩, 10 个女人怀 1 个月就能生了么
ArthurKing
2016-08-11 11:20:30 +08:00
线程不是越多越好,也不是绝对的跟 cpu 核数相关。在考虑开多少个线程时,最重要的一个因素就是资源争用度。
justfly
2016-08-11 11:29:21 +08:00
不是 IO 密集的,加线程起副作用; IO 密集的,线程数量也不是越多越好,有一个最佳值,要看具体业务。

PS : Java 的 web 生态里面貌似并没有意愿使用 单线程或少量线程 + IO 多路复用 的策略来提高资源利用率,很奇怪。
ZE3kr
2016-08-11 11:45:28 +08:00
@just4test 应该是线程数=核数就够了,不过一些芯片已经能超线程了能跑的线程就是核数*2 ,当线程到这个数量速度才最快。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/298568

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX