线程池的七大参数

ThreadPoolExecutor的七大常用参数

参数 作用
corePoolSize(核心线程数) 1. 创建线程池时,默认线程数为0; 2. 当有任务请求时,如果线程数小于核心线程数,线程池会创建一个线程去执行此任务;如果线程数大于等于核心线程数,把任务放到缓存队列中
queueCapacity(任务队列容量,即阻塞队列) 是spring线程池的参数,默认值Integer.MAX_VALUE
workQueue(任务队列) 是JDK线程池的参数,用来存储被提交但尚未被执行的任务
maximumPoolSize(最大线程数) 1. 核心线程数<=线程数<最大线程数 ,且任务队列已满,线程池会创建新的线程执行任务; 2. 线程数 = 最大线程数,且任务队列已满,线程池会拒绝执行任务并抛出异常
keepAliveTime(线程空闲时间) 当线程数超过核心线程数时,会将部分线程空闲时间超过keepAliveTime的线程销毁,直到线程数等于核心线程数
allowCoreThreadTimeout(允许核心线程超时) 若线程空闲不允许退出(默认false)
handler(拒绝策略) 当线程数量达到maxPoolSize时的处理策略
发布了25 篇原创文章 · 获赞 1 · 访问量 433

猜你喜欢

转载自blog.csdn.net/qq_44837912/article/details/103711685