java 线程池简记
2019-12-06 本文已影响0人
_正心_
参数配置:
- corePoolSize:核心线程数。默认创建后一直存在,可以设置为超时销毁。
- queueCapacity:任务队列容量。核心线程已满时,任务将被加入队列。
- maxPoolSize:最大线程数。当线程数超过核心线程数且队列已满,将开启新线程。若达到最大线程数,将抛错并拒绝处理任务。
- keepAliveTime:即允许的线程空置时间。
- allowCoreThreadTimeout:允许核心线程超时。即允许核心线程在等待一段时间后销毁。
![](https://img.haomeiwen.com/i6869939/e78de431e0d6fd5e.png)
四大经典线程池类型:
固定数量(Fixed):线程数量固定为核心线程数也是最大线程数,队列容量、线程等待时间无效。队列容量 Integer.MAX_VALUE。
不定数量(Cached):所有线程都是非核心线程,最大线程数为 Integer.MAX_VALUE。队列为同步队列。
单线程(Single):同一时间只有一个任务执行,保证任务顺序执行。队列容量 Integer.MAX_VALUE。
延迟执行(Scheduled):使用延迟队列缓存任务,最大允许线程数为 Integer.MAX_VALUE。