public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
corePoolSize :java
- 核心線程數,一旦建立將不會再釋放。
- 若是建立的線程數尚未達到指定的核心線程數量,將會繼續建立新的核心線程,直到達到最大核心線程數後,核心線程數將不在增長;
- 若是沒有空閒的核心線程,同時又未達到最大線程數,則將繼續建立非核心線程;
- 若是核心線程數等於最大線程數,則當核心線程都處於激活狀態時,任務將被掛起,等待空閒線程來執行。
maximumPoolSize :線程
- 最大線程數,容許建立的最大線程數量。
- 若是最大線程數等於核心線程數,則沒法建立非核心線程;
- 若是非核心線程處於空閒時,超過設置的空閒時間,則將被回收,釋放佔用的資源。
keepAliveTime :code
- 也就是當線程空閒時,所容許保存的最大時間,
- 超過這個時間,線程將被釋放銷燬,但只針對於非核心線程。
unit :隊列
workQueue :資源
- 任務隊列,存儲暫時沒法執行的任務,等待空閒線程來執行任務。
threadFactory : it
handler :class
- 當線程邊界和隊列容量已經達到最大時,用於處理阻塞時的程序