核心参数
核心线程数 corePoolSize
如果没有设置允许主线程过期,核心线程数为线程池中保留的最大线程数
最大线程数 maximumPoolSize
线程池能创建的最大工作线程数
线程存活时间 keepAliveTime,时间类型unit
即超过核心线程数的线程过期的时间,在指定时间内未获取到任务的话,则会回收线程。
任务队列 BlockingQueue
存放任务的阻塞队列,符合先进先出原则。有ArrayListBlockingQueue和LinkedBlockQueue两种。
线程工厂 ThreadFactory
创建一个线程工厂,线程池中的线程都由该工厂创建,有统一的线程前缀,可根据不同业务定义,方便定位问题。
拒绝策略 RejectedExecutionHandler
线程超过最大线程数时,线程池对新任务的处理策略,共四种
AbortPolicy(默认)
不接受任务,直接抛出异常
CallerRunsPolicy
由提交任务的线程执行该任务,通常是请求线程执行。不允许任务丢失的业务可以使用该策略