怎么维护线程池生命周期。想让一直存在

有梦为嘛 发布于 2016/05/06 14:12
阅读 420
收藏 0
项目中写的一个工具类在调用一下就会起一个线程,导致线程太多,CPU利用率太高。同事说使用线程池。我想维护一个线程池。调用工具类是向线程池加入即可。可以用单利模式维护不?
加载中
0
f
freezingsky
如果是java的话,请参考Executor实现。如果不是java的话,也可以参考该实现。
0
就是个精虫上脑的地方
就是个精虫上脑的地方
直接在服务上初始化一个线程池就行了 Executors.newFixedThreadPool(Integer.parseInt(threadPoolSize));
0
xpbob
xpbob
可能线程池帮不了你,线程池主要解决的问题是开启线程的成本太高,所以使用池来循环利用线程启动时需要的资源,其实达到的效果就是启动线程更快了,但是你的问题是线程太多造成CPU使用率太高,你的业务已经需求那么多线程去做,你就算用了线程池还是那么多线程在跑,使用率还是降不下
xpbob
xpbob
回复 @羽化君 : 如果线程事情做的简单,能接受损失实时性,不如做批处理
有梦为嘛
有梦为嘛
我们线程数可以下降,每个线程干的事也比较简单。损失一点实时性也是可以的。 [13]
0
让往事随风
让往事随风
如果工作线程属于IO密集型的,可以靠开大线程数来增大并发量和提高CPU利用率,这也是简单有效同时又是最土的方法,其他情况都最好接近核数.
返回顶部
顶部