这样加线程。。。。真的合适吗?
1
wizardforcel Aug 11, 2016
没那么多核也没用啊。
|
2
jimzhong Aug 11, 2016
对于运算密集型的场合一般是不合适的
|
3
UnisandK Aug 11, 2016
这是给太湖之光在写程序吗
|
4
feilaoda Aug 11, 2016
不合适
除非你机器 nb 的不行 |
5
wander2008 Aug 11, 2016 via iPhone
这么说的,对多线程理解比较初级
|
6
sarike Aug 11, 2016
同时在加 500 个核,是好使的。
|
7
tabris17 Aug 11, 2016 建议总线程数=CPU 内核数*2+1
|
8
mko0okmko0 Aug 11, 2016 最佳公式不是相同任务的线程=((cpu 核心数量 x2)+1)吗?
线程太多切换线程本身就有虚耗. |
9
qzy168 Aug 11, 2016
啥服务器有那么多线程呀?云计算吗?
|
10
zhuangzhuang1988 Aug 11, 2016
先 visutalstudio 性能分析一下..
|
11
domty Aug 11, 2016
没用吧,核心不够多线程间切换的开销反而更浪费资源
|
14
harry890829 Aug 11, 2016
为什么不是用多进程……
|
15
zmj1316 Aug 11, 2016
遇到过大量加线程性能提升的现象,最后发现其实是线程负载不均衡,先结束的线程在等待,所以疯狂加效果显著,虽然切换损失也很大。最后把负载均衡就正常了,建议跑个 profiler 看看
|
16
em70 Aug 11, 2016 饭不够吃?再给你拿双筷子吧
|
17
hush Aug 11, 2016
1 个女人怀胎 10 月生一个小孩, 10 个女人怀 1 个月就能生了么
|
18
ArthurKing Aug 11, 2016
线程不是越多越好,也不是绝对的跟 cpu 核数相关。在考虑开多少个线程时,最重要的一个因素就是资源争用度。
|
19
justfly Aug 11, 2016
不是 IO 密集的,加线程起副作用; IO 密集的,线程数量也不是越多越好,有一个最佳值,要看具体业务。
PS : Java 的 web 生态里面貌似并没有意愿使用 单线程或少量线程 + IO 多路复用 的策略来提高资源利用率,很奇怪。 |
21
21grams Aug 11, 2016 via Android
要看具体场景,不见得就没用
|
22
zwh8800 Aug 11, 2016
对于 io 密集的任务,这样是可行的。运算密集的就得跟核数相关了。
|
24
SlipStupig Aug 11, 2016
首先要看算什么任务,如果是运算密集型不会有丝毫的作用, IO 密集型是有帮助的,线程本质是强占 CPU 时间,但是 CPU 本身要切换线程的话,需要更多消耗内核资源,这个时候线程切换时间会特别长,内核维护线程的列表会更大,在机器不够强的时候可能连正常运行都成问题
|
26
coldear Aug 11, 2016
先 profile ,找瓶颈
|
27
yxaaa123 OP 现在程序启动后有 700 多个线程, Redis Client 有 600 。。。。不知道说啥好, php 程序员写 java 就会这样,遇到好几个了
|
28
jhaohai Aug 11, 2016 via iPhone
如果是阻塞式的加线程可能有用
|
29
seeker Aug 11, 2016
楼上都跑偏了,楼主其实是吐槽外行老板 or 甲方。
|
30
jasontse Aug 11, 2016 via iPad
看 CPU 利用率和线程阻塞时长
|
32
iyangyuan Aug 11, 2016 via iPhone
也不一定没用,最起码抢占 CPU 的竞争力加强了
|
33
petelin Aug 11, 2016 via Android
@SlipStupig 系统启动的时候就已经有那么多线程了,对于阻塞很强的多开十几个没事吧?
|
34
williamx Aug 11, 2016
是不是合适得看实际的情况。
|
35
SlipStupig Aug 11, 2016
@petelin 只要你线程切换不频繁就没事
|
36
jimages Aug 11, 2016 via Android
读写的慢?分成 500 个文件。
|
37
8023 Aug 12, 2016
“处理的慢?那再加 500 台电脑!”
|
38
yzl0208994 Aug 12, 2016
如果 IO 密集型似乎可以,如果是 CPU 密集型就变慢了
|