线程池架构图
线程池.png线程池状态流转图
线程池状态流转.png线程池主要参数介绍
- corePoolSize: 核心线程数量
- maximumPoolSize: 最大线程数量
- workQueue:队列,当核心线程池满了,就放入队列
- threadFactory 产生线程的工厂
- defaultHandler 拒绝策略,当最大线程池也满了,开启拒绝策略
- keepAliveTime 存活时间,闲置线程的最大存活时间
主要线程池类型
- newFixedThreadPool 最大线程和核心线程数量一致的线程,队列为无界队列
- newCachedThreadPool 最大线程数为Integer.MAX_VALUE,阻塞队列为SynchronousQueue
- newSingleThreadExecutor 最大线程和最小线程都为1,队列为无界队列
- newScheduledThreadPool 最大线程数量为Integer.MAX_VALUE,队列为DelayedWorkQueue
还有一些就不做介绍了,为什么呢?因为当你真正使用线程池的时候不要使用Executors,要自己去创建,因为这样你才可以合理的配置相关的参数,做最合适的调优。这才是不二法则,忘了我上面列举的吧!
网友评论