卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java四種線程池 大家如何估算線程池數(shù)量?

大家如何估算線程池數(shù)量?線程池的大小對系統(tǒng)的性能有一定的影響,過大或過小的線程數(shù)都不能起到最佳的系統(tǒng)性能,但是線程池大小的確定不需要非常精確。只要避開最大和最小條件,線程池的大小不會對性能產(chǎn)生太大的影

大家如何估算線程池數(shù)量?

線程池的大小對系統(tǒng)的性能有一定的影響,過大或過小的線程數(shù)都不能起到最佳的系統(tǒng)性能,但是線程池大小的確定不需要非常精確。只要避開最大和最小條件,線程池的大小不會對性能產(chǎn)生太大的影響。一般來說,要確定線程池的大小,需要考慮cpu的數(shù)量、內(nèi)存大小等因素。在《Java并發(fā)實踐》一書中,我們給出了一個估算線程池大小的經(jīng)驗公式:

公式:nthread=NCU*UCU*(1 W/C),每個字段的含義:

nthreads:線程數(shù)

ncpu:CPU數(shù),運行時.getRuntime(). Availableprocessors()

UCU:CPU利用率,在[0,1

]W/C范圍內(nèi):等待時間與計算時間的比值

實際上,我們需要區(qū)分計算密集型和IO密集型。

如果C是無限的,也就是說,它是計算密集型的,那么太多的線程是沒有意義的,因為它需要CPU計算,扮演太多的角色是沒有用的。

如果它是Io密集型的,它可以啟動更多線程,因為等待時間太長。

一個簡單的總結(jié)是:IO密集型多線程,計算密集型線程=CPU內(nèi)核更合適。