线程池的创建

image.png

  1. 核心线程数
  2. 最大线程数
  3. 连接时间
  4. 连接时间的单位
  5. 队列

    问题

    什么是核心线程数?

    随着任务量的不断上升,线程池会不断地创建线程,直到达到核心线程数。

    什么是阻塞队列?

    到达核心线程数之后,就不再创建线程,多余的任务加入阻塞队列。

    什么是最大线程数?

    当任务数量超过(核心线程数+阻塞队列长度)时,线程池不得不扩大线程个数来满足当前任务的运行,这时就需要创建新的线程,上限是最大线程数。

    什么是连接时间?

    如果这时已经突破了核心线程数,新增了一些线程,任务完成,这些新增的线程在一定时间内空闲,那么就会被销毁。

    如果超过了最大线程数+阻塞队列长度会怎么样?

    直接会拒绝进入rejectExecution