threadPoolExecutor的基本解析

2022-07-24 09:30:09 字數 607 閱讀 5207

執行緒池的構造方法中常見引數簡介

maxmumpoolsize:執行緒池所能容納的最大執行緒數,超過這個數的執行緒將被阻塞。

keepalivetime:非核心執行緒的最長空閒時間。一般這個值不會對corepoolsize有影響,但是如果將allowcorethreadtimeout設定為true,這個值就會對核心執行緒有影響。

unit:設定keepalivetime的單位,比如秒

workqueue:執行緒池的任務佇列,常見的佇列會有三種:synchronousqueue,linkedblockingqueue,arrayblockingqueue

threadfactory:執行緒工廠,提供建立新執行緒的功能,其是乙個介面裡面只有乙個方法,通過執行緒工廠可以對性和執行緒的一些屬性就行設定。

rejectedexecutionhandler:當執行緒池中的所有資源被用完了,新增新執行緒被拒絕時,**用rejectedexecutionhandler中rejectedexecution方法

ThreadPoolExecutor的不確定性

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

ThreadPoolExecutor的重要引數設定

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

ThreadPoolExecutor 的基本原理

先說下 threadpoolexecutor 的基本原理 1.當提交乙個任務時,如果執行緒數沒有達到coresize,那麼就會新建乙個執行緒,並繫結該任務,直到數量到達coresize前都不會重用之前的執行緒 2.到達後,提交的任務都會放到乙個等待佇列中進行等待,執行緒池中的執行緒會使用take 阻...