ThreadPoolExecutor 的基本原理

2022-06-16 05:42:10 字數 450 閱讀 3083

先說下 threadpoolexecutor 的基本原理:

1. 當提交乙個任務時,如果執行緒數沒有達到coresize,那麼就會新建乙個執行緒,並繫結該任務,直到數量到達coresize前都不會重用之前的執行緒

2.到達後,提交的任務都會放到乙個等待佇列中進行等待,執行緒池中的執行緒會使用take()阻塞的從等待佇列拿任務

3.當佇列有界,並且執行緒不能及時取走佇列中的任務,等待佇列有可能會滿,那麼執行緒池將會建立臨時執行緒來執行任務

4.臨時執行緒 通過poll(keepalivetime,timeunit)來執行任務,如果到了keepalivetime還取不到,那麼會被**掉,臨時執行緒的數量不能大於

maxpoolsize - coresize

5.當執行緒數到達maxsize後,將會執行拒絕策略rejectedexecutionhandler,包括拋異常,靜默拒絕,拋棄最old任務,使用原遠端執行等策略

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

ThreadPoolExecutor的不確定性

網上介紹threadpoolexecutor的文章很多,這裡不再累述。threadpoolexecutor是doug lea的大作,但是只要是人寫的 都可能出現問題。threadpoolexecutor是乙個具有動態彈性的執行緒池,其會自動根據業務的請求量來動態伸縮其內的執行緒數目 當然判斷的依據主...

ThreadPoolExecutor的重要引數設定

一 threadpoolexecutor的重要引數 queuecapacity 任務佇列容量 阻塞佇列 maxpoolsize 最大執行緒數 keepalivetime 執行緒空閒時間 allowcorethreadtimeout 允許核心執行緒超時 rejectedexecutionhandler...