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