线程池工作机制解析:从核心线程到拒绝策略的科学视角

线程池原理:线程池初始状态下无线程存在。当首次提交任务时,系统根据设定的核心线程数创建线程池。若核心线程数已满,新任务将被放入阻塞队列。若阻塞队列亦满,则依据最大线程数进行扩容。若扩容后仍无法容纳,则触发拒绝策略。拒绝策略包含四种类型:
1. 直接丢弃任务并抛出异常(默认策略);
2. 丢弃任务但不抛出异常;
3. 丢弃阻塞队列中最久未处理的任务,并重新提交当前任务;
4. 将当前任务交由主线程执行。

自定义拒绝策略实现:

图片[1]- 卡尼奶资源网卡尼奶资源网-萧囡资源网-QQ活动_资源分享-源码基地-项目分享-安卓绿色软件基地

public class CustomRejectionHandler implements RejectedExecutionHandler {
    @Override
    public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
        System.out.println(r.toString() + "被拒绝了,执行入库操作,之后手动补偿");
    }
}
本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
为这篇文章评分
平均评分
0.0
0位网友评分
请登录后再评分
0
0
0
0
0
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容