ThreadPoolExecutor的4种拒绝策略
Java线程池ThreadPoolExecutor 使用一个阻塞队列来进行存储线程任务。
当线程不够用时,则将后续的任务暂存到阻塞队列中,等待有空闲线程来进行。
当这个阻塞队列满了的时候,会出现两种情况
1)正在运行的线程数量小于 maximumPoolSize,那么还是要创建线程运行这个任务;
2)正在运行的线程数量大于或等于 maximumPoolSize,那么线程池会通过1个策略进行对后续的任务进行处理。
四种策略:
ThreadPoolExecutor.AbortPolicy |
ThreadPoolExecutor 默认策略 直接抛出java.util.concurrent.RejectedExecutionException异常 |