如何合理設(shè)置線程池大小 線程池的五個(gè)參數(shù)?
線程池的五個(gè)參數(shù)?Corepollsize:核心線程數(shù)。Maximumpoolsize:最大線程數(shù)。Keepalivetime:空閑線程的保留時(shí)間。Timeunit:空閑線程保留時(shí)間的單位。阻塞隊(duì)列&
線程池的五個(gè)參數(shù)?
Corepollsize:核心線程數(shù)。
Maximumpoolsize:最大線程數(shù)。
Keepalivetime:空閑線程的保留時(shí)間。
Timeunit:空閑線程保留時(shí)間的單位。
阻塞隊(duì)列<runnable>:阻塞隊(duì)列以存儲(chǔ)等待執(zhí)行的任務(wù)。
Threadfactory:用于創(chuàng)建線程的線程工廠。
Rejectedexecutionhandler:隊(duì)列已滿且任務(wù)量大于最大線程數(shù)時(shí)的異常處理策略。
io密集和cpu密集兩種情況下,線程池里的線程數(shù)應(yīng)該怎么設(shè)置?
正常線程在啟動(dòng)后運(yùn)行。需要調(diào)度線程池??赡軙?huì)慢一點(diǎn)。當(dāng)線程較多時(shí),獨(dú)立線程優(yōu)于線程池,因?yàn)榫€程池有一定的大小,這在占用處理器資源方面不是最有利的。但通常情況下,兩者沒(méi)有太大區(qū)別。短期任務(wù)使用線程池,而保護(hù)線程或長(zhǎng)期工作線程使用獨(dú)立線程。線程池任務(wù)一般都是快速直線完成的,也就是說(shuō),不需要等待事件,不需要等待時(shí)間,只需要直線完成一個(gè)任務(wù),然后就結(jié)束了。這使得它適合放入線程池。個(gè)人感受:如果系統(tǒng)資源不是很稀缺,最好使用線程而不是線程池。不管怎樣,我覺(jué)得線程池有時(shí)會(huì)有問(wèn)題。