當(dāng)提交一個(gè)新的任務(wù)到線程池時(shí),線程池的處理流程:
1、線程池判斷核心線程池里的線程是否都在執(zhí)行任務(wù),如果不是,則創(chuàng)建一個(gè)新的工作線程來(lái)執(zhí)行任務(wù)。如果核心線程池里的線程都在執(zhí)行任務(wù),則進(jìn)入到下一個(gè)流程。
2、線程池判斷工作隊(duì)列是否已滿(mǎn)。如果工作隊(duì)列沒(méi)有滿(mǎn),則將新任務(wù)存儲(chǔ)在這個(gè)工作隊(duì)列里。如果工作隊(duì)列滿(mǎn)了,則進(jìn)入到下一個(gè)流程。
3、線程池判斷線程池里的線程是否都處于工作狀態(tài),如果沒(méi)有,則新創(chuàng)建一個(gè)工作線程來(lái)執(zhí)行任務(wù)。如果已經(jīng)滿(mǎn)了,則交給飽和策略來(lái)處理這個(gè)任務(wù)。