成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

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

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

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

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

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

nthreads:線程數(shù)

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

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

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

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

如果C是無限的,也就是說,它是計(jì)算密集型的,那么太多的線程是沒有意義的,因?yàn)樗枰狢PU計(jì)算,扮演太多的角色是沒有用的。

如果它是Io密集型的,它可以啟動(dòng)更多線程,因?yàn)榈却龝r(shí)間太長。

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