线程池初探

线程池架构图
线程池初探_第1张图片
线程池.png
线程池状态流转图
线程池初探_第2张图片
线程池状态流转.png
线程池主要参数介绍
  • corePoolSize: 核心线程数量
  • maximumPoolSize: 最大线程数量
  • workQueue:队列,当核心线程池满了,就放入队列
  • threadFactory 产生线程的工厂
  • defaultHandler 拒绝策略,当最大线程池也满了,开启拒绝策略
  • keepAliveTime 存活时间,闲置线程的最大存活时间
主要线程池类型
  • newFixedThreadPool 最大线程和核心线程数量一致的线程,队列为无界队列
  • newCachedThreadPool 最大线程数为Integer.MAX_VALUE,阻塞队列为SynchronousQueue
  • newSingleThreadExecutor 最大线程和最小线程都为1,队列为无界队列
  • newScheduledThreadPool 最大线程数量为Integer.MAX_VALUE,队列为DelayedWorkQueue

还有一些就不做介绍了,为什么呢?因为当你真正使用线程池的时候不要使用Executors,要自己去创建,因为这样你才可以合理的配置相关的参数,做最合适的调优。这才是不二法则,忘了我上面列举的吧!

你可能感兴趣的:(线程池初探)