"其中線程線程1-4先占滿(mǎn)了核心線程和最大線程數(shù)量,然后4获诈、5線程進(jìn)入等待隊(duì)列仍源,7-10線程被直接忽略拒絕執(zhí)行,等1-4線程中有線程執(zhí)行完后通知4舔涎、5線程繼續(xù)執(zhí)行笼踩。"
這一段用詞不太明確,容易誤導(dǎo)新手亡嫌,事實(shí)上應(yīng)該是:
1嚎于,由于線程預(yù)啟動(dòng),首先創(chuàng)建了1挟冠,2號(hào)線程匾旭,然后task1,task2被執(zhí)行圃郊;
2价涝,但任務(wù)提交沒(méi)有結(jié)束,此時(shí)任務(wù)task3持舆,task6到達(dá)發(fā)現(xiàn)核心線程已經(jīng)滿(mǎn)了色瘩,進(jìn)入等待隊(duì)列;
3逸寓,等待隊(duì)列滿(mǎn)后創(chuàng)建任務(wù)線程3居兆,4執(zhí)行任務(wù)task3,task6竹伸,同時(shí)task4泥栖,task5進(jìn)入隊(duì)列;
4勋篓,此時(shí)創(chuàng)建線程數(shù)(4)等于最大線程數(shù)吧享,且隊(duì)列已滿(mǎn),所以7譬嚣,8钢颂,9,10任務(wù)被拒絕拜银;
5殊鞭,任務(wù)執(zhí)行完畢后回頭來(lái)執(zhí)行task4遭垛,task5,隊(duì)列清空操灿。
線程池之ThreadPoolExecutor使用ThreadPoolExecutor提供了四個(gè)構(gòu)造方法: 我們以最后一個(gè)構(gòu)造方法(參數(shù)最多的那個(gè))锯仪,對(duì)其參數(shù)進(jìn)行解釋?zhuān)?如果對(duì)這些參數(shù)作用有疑惑的請(qǐng)看 ThreadPoolE...