线程池七大核心参数

如题所述

线程池七大参数分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler。

1、corePoolSize

corePoolSize是线程池中常驻核心线程数也是线程池中的一个最小的线程数量,即使这些线程处理空闲状态,他们也不会被销毁。

2、maximumPoolSize

maximumPoolSize是线程池能够容纳同时执行的最大线程数。

3、keepAliveTime

keepAliveTime是多余的空闲线程存活时间。

4、unit

unit是keepAliveTime的时间单位。

5、workQueue

workQueue是任务队列,被提交但尚未执行的任务。

6、threadFactory

threadFactory表示生成线程池中的工作线程的线程工厂。

7、Handler

Handler是拒绝策略,表示当队列满了并且工作线程大于等于线程池的最大线程数。

线性池默认工作流程

线程在有任务的时候会创建核心的线程数corePoolSize。当线程满了(有任务但是线程被使用完)不会立即扩容,而是放到阻塞队列中,当阻塞队列满了之后才会继续创建线程。

如果队列满了,线程数达到最大线程数则会执行拒绝策略。当线程数大于核心线程数,超过KeepAliveTime(闲置时间),线程会被回收,最终会保持corePoolSize个线程。

温馨提示:答案为网友推荐,仅供参考
相似回答