線程池的7大核心參數(shù)包括:
1.核心線程數(shù)(Core Pool Size):線程池中最小的線程數(shù),即在線程池中一直保持的線程數(shù)量,不受空閑時(shí)間的影響。
2.最大線程數(shù)(最大池大小)
3.空閑線程存活時(shí)間(Keep Alive Time):當(dāng)線程池中的線程數(shù)超過核心線程數(shù)時(shí),多余的線程會(huì)被回收,此參數(shù)即為非核心線程的空閑時(shí)間,超過此時(shí)間將被回收。
4.工作隊(duì)列(Work Queue):用于存儲(chǔ)等待執(zhí)行的任務(wù)的隊(duì)列,當(dāng)線程池中的線程數(shù)達(dá)到核心線程數(shù)時(shí),新的任務(wù)將被加入工作隊(duì)列等待執(zhí)行。
5.拒絕策略(Reject Execution Handler):當(dāng)線程池和工作隊(duì)列都已經(jīng)達(dá)到最大容量,無法再接收新的任務(wù)時(shí),拒絕策略將被觸發(fā)。常見的拒絕策略有拋出異常、直接丟棄任務(wù)、丟棄隊(duì)列中最老的任務(wù)等。
6.線程工廠 (Thread Factory):用于創(chuàng)建新的線程,可定制線程名字、線程組、優(yōu)先級(jí)等。
7.阻塞策略(Block Policy):當(dāng)工作隊(duì)列已滿時(shí),向線程池中添加任務(wù)的策略。常見的策略有:直接拋出異常、阻塞調(diào)用者、丟棄任務(wù)等。
這些參數(shù)可以通過線程池的構(gòu)造方法來設(shè)置,根據(jù)應(yīng)用場景的不同,需要根據(jù)實(shí)際情況進(jìn)行調(diào)整。