线程池工作原理

线程池工作原理

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

线程池原理: 线程池开始是没有线程数的,当第一次提交任务的时候,会从我们设置的核心线程数来创建一个线程池,如果这个线程池中的线程数满了,那么新来的任务放入到阻塞队列中,如果阻塞队列也满了,那么就根据最大核心线程数进行扩容,如果扩容之后也满了,那么使用拒绝策略。 拒绝策略有四种: 第一种:丢弃这个任务并抛出异常,也是默认的 第二种:丢弃这个任务不会抛出异常 第三种:如果阻塞队列中满了,那么从阻塞队列中把阻塞最久的任务丢弃,重新提交拒绝的任务 第四种:把当前的任务交给主线程执行

自定义策略:

public class CustomRejectionHandler implements RejectedExecutionHandler {

    @Override
    public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
        System.out.println(r.toString() + "被拒绝了,执行入库操作,之后手动补偿");
    }
}

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容