(一)什么是線程池
線程池做的工作主要是控制運行的線程的數量,處理過程中將任務放入隊列,然后在線程創建后啟動這些任務,如果線程數量超過了最大數量超出數量的線程排隊等候,等其它線程執行完畢,再從隊列中取出任務來執行。
他的主要特點為:
降低資源消耗。通過重復利用已創建的線程降低線程創建和銷毀造成的消耗。
提高響應速度。當任務到達時,任務可以不需要的等到線程創建就能立即執行。
提高線程的可管理性。線程是稀缺資源,如果無限制的創建,不僅會消耗系統資源,還會降低系統 的穩定性,使用線程池可以進行統一的分配,調優和監控
(二)線程池的基本原理
線程池的組成一般的線程池主要分為以下 4 個組成部分:
線程池管理器:用于創建并管理線程池
工作線程:線程池中的線程
任務接口:每個任務必須實現的接口,用于工作線程調度其運行
任務隊列:用于存放待處理的任務,提供一種緩沖機制
ThreadPoolExecutor 的構造方法如下:
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueueworkQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler) { }
構造函數參數說明:
更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。