多線程的鎖之線程池核心參數

核心構造方法:ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlokingQueueworkQueue){}

重要的參數:
1, corePoolSize:核心線程數
,2, maximumPoolSize:最大線程數
3, keepAliveTime , 存活時間
corePoolSize和 maximumPoolSize的區別:
在這裏插入圖片描述
keepAliveTime :當線程池中的線程數超過核心線程數和隊列總數,但是小於最大線程數的時候,threadPooLExecutor會請求“老闆”再派幾個工人來執行,那麼會有以下兩種情況:
1,任務不再過來了-keepAliveTime
2,任務仍然繼續過來

當處於1的情況下,既然是借的工人來執行操作,那麼什麼時候就可以還回去呢,就是keepAliveTime 設定的時間
當處於2的情況下,借來的工人還是忙不過來,那麼就只好拒絕接受了,即RejectedExecutionHandler

附一張簡單的線程池運行原理
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章