Java线程池相关问题

概述

在任务队列长度有限的情况下就会出现新任务的拒绝处理问题,需要有一种策略来处理应该加入任务队列却因为队列已满无法加入的情况;在线程池关闭的时候也需要对任务加入队列操作进行额外的协调处理

Java线程池任务拒绝策略

RejectedExecutionHandler提供了四种方式来处理任务拒绝策略

  1. 直接丢弃(DiscardPolicy)
  2. 丢弃队列中最老的任务(DiscardOldestPolicy)。
  3. 抛异常(AbortPolicy)
  4. 将任务分给调用线程来执行(CallerRunsPolicy)。

ExecutorService类图

ExecutorService类图

ThreadPoolExecutor类图

ThreadPoolExecutor类图

参考链接

https://blog.csdn.net/u010412719/article/details/52132613

http://www.importnew.com/19011.html

http://www.importnew.com/27305.html

https://www.cnblogs.com/dolphin0520/p/3949310.html