欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

大家如何估算線程池?cái)?shù)量

大家如何估算線程池?cái)?shù)量?

線程池的大小對(duì)系統(tǒng)的性能有一定的影響,過大或者過小的線程數(shù)量都無法發(fā)揮最優(yōu)的系統(tǒng)性能,但是線程池大小的確定也不需要做的非常精確。因?yàn)橹灰苊鈽O大和極小兩種情況,線程池的大小對(duì)性能的影響都不會(huì)影響太大,一般來說,確定線程池的大小需要考慮CPU數(shù)量,內(nèi)存大小等因素,在《Java Concurrency in Practice》 書中給出了一個(gè)估算線程池大小的經(jīng)驗(yàn)公式:

公式:Nthread = Ncpu * Ucpu * (1+ W/C),各字段含義:

Nthreads:線程數(shù)量

Ncpu:CPU的數(shù)量,Runtime.getRuntime().availableProcessors()

Ucpu:CPU使用率,范圍在[0,1]

W/C:等待時(shí)間與計(jì)算時(shí)間的比率

其實(shí)就是要分清是計(jì)算密集型還是IO密集型。

如果是C無限大也就是計(jì)算密集型的那么線程太多意義不大,因?yàn)樾枰狢PU計(jì)算,起多了也沒用。

如果是IO密集型那么可以起更多的線程,因?yàn)榈却龝r(shí)間過多。

簡單總結(jié)就是:IO密集多線程,計(jì)算密集線程=CPU核數(shù)比較合適。

歡迎關(guān)注筆者,持續(xù)分享有價(jià)值的優(yōu)質(zhì)架構(gòu)文章。

java多線程線程池,大家如何估算線程池?cái)?shù)量