參數:
corePoolSize 核心線程池大小
(1) 當線程池小于corePoolSize時,新提交任務將創建一個新線程執行任務,即使此時線程池中存在空閑線程
(2) 當線程池達到corePoolSize時,新提交任務將被放入workQueue中,等待線程池中任務調度執行
maximumPoolSize 線程池最大容量(容納的任務量 ,與線程數量沒關系)大小
當提交任務數超過maximumPoolSize時,新提交任務由RejectedExecutionHandler處理(拒絕受理新任務)
workQueue
RejectedExecutionHandler 線程拒絕策略
當提交任務數超過maximumPoolSize時,新提交任務由RejectedExecutionHandler處理
線程的提交方法主要是execute和submit。
TimeUnit 時間單位
ThreadFactory 新建線程工廠
keepAliveTime 線程池空閑時,線程存活的時間當線程池中超過corePoolSize線程,空閑時間達到keepAliveTime時,關閉空閑線程
Executors方法提供的線程服務,都是通過參數設置ThreadPoolExecutor來實現不同的線程池機制。
callable用法和runnable的區別:兩者都可以實現并發編程,callable有一個泛型返回值,runnable接口沒有返回值。