【并发编程篇20】线程池的核心参数

40 阅读1分钟

ThreadPoolExecutor

  • corePoolSize 核心线程数量
  • maximumPoolSize 最大线程数量=(核心线程数+救急线程数)
  • keepAliveTime 生存时间-救急线程的生存时间,生存时间内没有任务,此救急线程就会被释放
  • unit 救急线程的生存时间单位,如:秒、毫秒等
  • workQueue 当没有空闲核心线程时,新来的任务会加入到此队列排队,队列满了会创建救急线程执行任务
  • threadFactory 线程工厂-可以定制线程对象的创建,例如设置线程名称,是否是守护线程等
  • handler 拒绝策略,当所有线程都在繁忙,工作队列也满了,就会触发拒绝策略

线程池的执行原理(工作原理)

image.png

代码:

image.png

image.png

image.png

image.png