线程池的处理流程主要分为3步
· 提交任务后,线程池先判断线程数是否达到了核心线程数(corePoolSize)。如果未达到线程数,则创建核心线程处理任务;否则,就执行下一步
· 接着线程池判断任务队列是否满了。如果没满,则将任务添加到任务队列中;否则,执行下一步
· 接着因为任务队列满了,线程池就判断线程数是否达到了最大线程数。如果未达到,则创建非核心线程处理任务;否则,就执行饱和策略(当任务队列和线程池都满了时所采取的应对策略,表示无法处理新任务),默认会抛出RejectedExecutionException异常