"其中線程線程1-4先占滿了核心線程和最大線程數(shù)量,然后4熏迹、5線程進入等待隊列威鹿,7-10線程被直接忽略拒絕執(zhí)行戴差,等1-4線程中有線程執(zhí)行完后通知4奠蹬、5線程繼續(xù)執(zhí)行藤韵。"
這一段用詞不太明確狮腿,容易誤導新手神僵,事實上應該是:
1雁刷,由于線程預啟動,首先創(chuàng)建了1保礼,2號線程沛励,然后task1,task2被執(zhí)行炮障;
2目派,但任務提交沒有結(jié)束,此時任務task3铝阐,task6到達發(fā)現(xiàn)核心線程已經(jīng)滿了址貌,進入等待隊列;
3徘键,等待隊列滿后創(chuàng)建任務線程3练对,4執(zhí)行任務task3,task6吹害,同時task4螟凭,task5進入隊列;
4它呀,此時創(chuàng)建線程數(shù)(4)等于最大線程數(shù)螺男,且隊列已滿,所以7纵穿,8下隧,9,10任務被拒絕谓媒;
5淆院,任務執(zhí)行完畢后回頭來執(zhí)行task4,task5句惯,隊列清空土辩。
線程池之ThreadPoolExecutor使用ThreadPoolExecutor提供了四個構(gòu)造方法: 我們以最后一個構(gòu)造方法(參數(shù)最多的那個)支救,對其參數(shù)進行解釋: 如果對這些參數(shù)作用有疑惑的請看 ThreadPoolE...