说说线程池原理?以及核心参数?

1.首先线程池有几个核心的参数概念:

  1. 最大线程数 maximumPoolSize
  2. 核心线程数 corePoolSize
  3. 活跃时间 keepAliveTime
  4. 阻塞队列 workQueue
  5. 拒绝策略 RejectedExecutionHandler

2.当提交一个新任务到线程池时,具体的执行流程如下:

  1. 当我们提交任务,线程池会根据corePoolSize大小创建若干任务数量线程执行任务;
  2. 当任务的数量超过corePoolSize数量,后续的任务将会进入阻塞队列阻塞排队;
  3. 当阻塞队列也满了之后,那么将会继续创建(maximumPoolSize-corePoolSize)个数量的线程来执行任务,如果任务处理