在性能影响不是很大的情况下,一般能支持多少线程?
比如像这样的机器:四核酷睿2.5G/i3 3G , 4g内存
比如像这样的机器:四核酷睿2.5G/i3 3G , 4g内存
解决方案 »
- 怎能让一个被点击后的按钮失去作用
- HTTP Status 500 - zhanghao is not mapped [from zhanghao where ygh=? and mm=?]
- Servlet使用心得
- 在java web中,如何将页面输出的数据导出为doc或xls格式
- hibernate 单向oneToMany 在线等
- 怎样在js中判断系统日期与从控件中取出的日期是否相等
- 急求SNMP如何用JAVA实现的文章~~!
- ant 中如何设置一个动态可变的property
- 初学!struts 简单问题,请高手帮忙 在线等
- 毕业设计求救,在线等
- jdbc连接SQLServer 失败 !
- MyEclipse中如何部署程序?
区区一个4核的CPU,即使操作系统支持2000个线程,CPU处理的过来么!人家4个双核CPU,也就开两三百
高负载高并发程序里
线程的创建和使用还是要参照线程池的思路,
按需创建和使用在单CPU环境下,你创建再多的线程,也是CPU分片处理的
到时候调度的开销就会太大通常情况下
单一应用程序单CPU环境下,100以内的线程能兼顾效率和公平
再多了就没啥意义了
OS能创建,系统资源是有限的,各种低速IO就会成为瓶颈
windows下线程开到2400个时候,系统就会崩溃,一般300个线程足够使用了,如果需要使用再多的线程,说明设计有问题,或者需要集群服务,单台机器肯定搞定不了。
多谢大家的帮助。我这个系统是CS架构的,服务端将来要部署到服务器上。
系统可能同时有5000个客户端并发访问,每个客户端大约每3秒请求服务端一次。在服务端,对于每一个客户端,大约每一秒就向其它系统请求一次(为每个客户端去远程服务器读取数据啥的),平均下来每个线程的运行时间在200ms左右吧,线程池要设多大合适?还有没有我没说清楚的地方?