創(chuàng)建一個阻塞隊列來容納任務(wù),在次執(zhí)行任務(wù)時創(chuàng)建足夠多的線程,并處理任務(wù),之后每個工作線程自動從任務(wù)隊列中獲取線程,直到任務(wù)隊列中任務(wù)為0為止,此時線程處于等待狀態(tài),一旦有工作任務(wù)加入任務(wù)隊列中,即刻喚醒工作線程進(jìn)行處理,實現(xiàn)線程的可復(fù)用性。
線程池一般包括四個基本組成部分:
1. 線程池管理器:用于創(chuàng)建線程池,銷毀線程池,添加新任務(wù)。
2. 工作線程:線程池中線程,可循環(huán)執(zhí)行任務(wù),在沒有任務(wù)時處于等待狀態(tài)。
3. 任務(wù)隊列:用于存放沒有處理的任務(wù),一種緩存機(jī)制。
4. 任務(wù)接口:每個任務(wù)必須實現(xiàn)的接口,供工作線程調(diào)度任務(wù)的執(zhí)行,主要規(guī)定了任務(wù)的開始和收尾工作,和任務(wù)的狀態(tài)。