Java的服务器一般运行几个线程比较合适?
迷茫
迷茫 2017-04-17 14:58:56
[Java讨论组]

理论上,比如8核CPU可以同时运行8个thread,但是一般运行多少线程比较合适呢?
我觉得应该大于8个,因为可能有线程空闲,但是太多的线程会有很大的线程切换成本和占有太多内存。根据大家的经验,线程数应该怎么确定?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(6)
大家讲道理

阻塞型任务:可用CPU*(5-10)
计算型任务:可用CPU数
JAVA并发编程实践中有讲过

大家讲道理

线程大小 = ( (线程io时间 + 线程cpu) / 线程cpu time) * cpu核数
可以参考本人的博客
http://www.cnblogs.com/tylercao/p/4733238.html

ringa_lee

经验上来说,一般使用CPU*2的量,当然这个没有科学依据。

大家讲道理

根据cpu总核数的倍数去做实验,具体机器压测性能就知道

黄舟

如果服务器就只有你一个程序就CPU数量,或者CPU数据*2都可以,如果还有其他程序,我建议是比CPU数量低,具体低多少还是测试一下看看实际情况。要不你把CPU资源都占了,CPU调度的大部分时间都可能命中你的程序。

巴扎黑

看你的程序是计算密集还是io密集了,或者直接cpu数量*2。万能魔数-_-

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号