1、corePoolSize:核心线程池的大小,程序一直运行,核心线程就不会停止
2、maximumPoolSize:线程池的最大连接数量
3、keepAliveTime:线程的最大空闲时间,如果线程在该时间内没有运行任务,线程就会消亡
4、workQueue:阻塞队列,用来存放线程任务
5、ThreadFactory:线程工程
6、defaultHandler:饱和策略
ThreadPoolExecutor类中一共有4中饱和策略,通过实现RejectExecutionHandler接口
四种饱和策略 :
1、AbortPolicy
是默认的饱和策略,将线程任务丢弃的时候,会报错,通知任务发送者
2、discardPolicy
线程任务被丢弃的时候,以静默的方式抛弃任务,不报错
3、discardOldPolicy
丢弃在等待队列中等待时间最长的任务,并将其从队列里面删除,并执行当前任务
4、CallerRunsPolicy
提供协调机制,不会放弃任务或引发异常,但会将任务的运行请求返回给任务的调用者,不会在线程池的线程中执行新的任务,而是在线程池之外直接调用run方法执行