Java多线程(五):线程池应该设置多少核心线程数
生活随笔
收集整理的這篇文章主要介紹了
Java多线程(五):线程池应该设置多少核心线程数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
創(chuàng)建線程池有個(gè)CorePoolSize參數(shù),指的是核心線程數(shù),該參數(shù)應(yīng)該設(shè)置為多大呢?
CPU密集型
一般公式:CPU核數(shù) + 1
通過以下代碼動(dòng)態(tài)獲取CPU核數(shù):
Runtime.getRuntime().availableProcessors()IO密集型
(1)配置方式一
IO密集型任務(wù)線程并不是一直在執(zhí)行任務(wù),則應(yīng)該配置盡可能多的線程
例如:CPU核數(shù) * 2
(2)配置方式二
CPU核數(shù) / (1 - 阻塞系數(shù)),阻塞系數(shù)在0.8~0.9之間
兩種方式并沒有絕對(duì)的最優(yōu),實(shí)際生產(chǎn)環(huán)境應(yīng)該結(jié)合壓力測(cè)試進(jìn)行調(diào)整
總結(jié)
以上是生活随笔為你收集整理的Java多线程(五):线程池应该设置多少核心线程数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java多线程(四):使用Executo
- 下一篇: Java获取List泛型的真实类型