Dubbo源码分析 (八)之线程池EagerThreadPoolExecutor

本文详细分析了Dubbo中的EagerThreadPoolExecutor,揭示了其线程池实现的原理,包括线程创建、任务调度以及如何优化资源利用率等方面,帮助读者深入理解Dubbo的服务执行机制。
摘要由CSDN通过智能技术生成
EagerThreadPoolExecutor 为dubbo线程派发器Dipatcher中的一种创建线程池方式;见Dubbo源码分析 (五)之线程5种派发器Dispatcher
直接上代码分析: 
public class EagerThreadPoolExecutor extends ThreadPoolExecutor {

    /**
     * task count 记录正在执行+队列等待执行的任务
     */
    private final AtomicInteger submittedTaskCount = new AtomicInteger(0);

    public EagerThreadPoolExecutor(int corePoolSize,//默认值0
                                   int maximumPoolSize,//默认无限大
                                   long keepAliveTime,//默认1分钟
                                   TimeUnit unit, TaskQueue<Runnable> workQueue,//默认容量为1
                                   ThreadFactory threadFactory,
                                   RejectedExecutionHandler handler) {//AbortPolicyWithReport 拒绝策略,会打印堆栈到指定路径
        super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, handler);//按照给定参数创建JDK原生态线程池
    }

    /**
     * @return current tasks which are executed
     */
    public int getSubmittedTaskCount() {
        return submittedTaskCount.get();
    }

    @Override
    protected void afterExecute(Runnable r, Throwable t) {
        submittedTaskCount.decrementAndGet(); //任务执行完毕后减1
    }

    @Override
    public v
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值