线程池自定义的七大参数和四大策略

本文深入探讨了自定义线程池的七大参数设置及四大拒绝策略,包括核心线程数量、最大线程数量、空闲线程存活时间、任务队列类型、线程工厂以及四种不同的拒绝策略实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * 自定义线程池,七大参数和四大拒绝策略
 */
public class ExecutorDome {
    public static void main(String[] args) {

        ExecutorService executors = new ThreadPoolExecutor(
                2,//核心线程数量
                5,//线程池最大线程数量
                /**
                 * 多余的空闲线程存活时间。当前线程池数量超过corePoolSize时,
                 * 空闲时间到达keepAliveTime值时,多余空闲线程会被销毁直到只剩下corePoolSize个线
                 */
                3, //超时时间
                TimeUnit.MINUTES,//超时时间单位
                new LinkedBlockingDeque<>(3),//任务队列,被提交但尚未执行的任务
                Executors.defaultThreadFactory(),//表示生成线程池中的工作线程的线程工厂,用于创建线程,一般为默认线程工厂即可
                new ThreadPoolExecutor.AbortPolicy());//拒绝策略,线程池和队列都占满之后的策略,1.
        /**
         * 四种拒绝策略
         * 1. new ThreadPoolExecutor.AbortPolicy() 超出队列,抛出异常,会丢弃
         * 2. new ThreadPoolExecutor.DiscardPolicy() 超出队列,不会抛出异常,会丢弃
         * 3. new ThreadPoolExecutor.DiscardOldestPolicy() 尝试和第一个竞争,不会抛出异常,会丢弃
         * 4. new ThreadPoolExecutor.CallerRunsPolicy() 那里来的去哪里 让main线程执行
         */
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值