线程池原理:线程池初始状态下无线程存在。当首次提交任务时,系统根据设定的核心线程数创建线程池。若核心线程数已满,新任务将被放入阻塞队列。若阻塞队列亦满,则依据最大线程数进行扩容。若扩容后仍无法容纳,则触发拒绝策略。拒绝策略包含四种类型:
1. 直接丢弃任务并抛出异常(默认策略);
2. 丢弃任务但不抛出异常;
3. 丢弃阻塞队列中最久未处理的任务,并重新提交当前任务;
4. 将当前任务交由主线程执行。
自定义拒绝策略实现:
![图片[1]- 卡尼奶资源网卡尼奶资源网-萧囡资源网-QQ活动_资源分享-源码基地-项目分享-安卓绿色软件基地](http://www.rulenetrs.com/wp-content/uploads/2026/01/image-54-1024x556-1.png)
public class CustomRejectionHandler implements RejectedExecutionHandler {
@Override
public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
System.out.println(r.toString() + "被拒绝了,执行入库操作,之后手动补偿");
}
}
本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
为这篇文章评分
0人
0人
0人
0人
0人
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END























暂无评论内容