线程池的七大参数通俗易懂,看完不理解请喷我

那就来认识一下 ThreadPoolExecutor

这篇文章是手动创建线程池的七大参数,虽然Java提供了构建线程池的方法,不推荐使用,因为许多他们的构建参数可能是不了解的,比如设置线程的名字啊,阻塞队列用那些,拒绝策略用那些,这些是否都符合你当前业务? 所以还是手动创建线程池比较好,对它的把控就很好。

那就直接去代码把他的参数贴过来

    public ThreadPoolExecutor(int corePoolSize,
                              int maximumPoolSize,
                              long keepAliveTime,
                              TimeUnit unit,
                              BlockingQueue<Runnable> workQueue,
                              ThreadFactory threadFactory,
                              RejectedExecutionHandler handler) {

首先你去手动创建线程池 肯定是new ThreadPoolExecutor();这篇文章是主要就是讲解它的七个参数

  • corePoolSize 核心线程数
    很好理解,线程池的核心线程数量,不会被收回,没有任务也会是空闲状态
  • maximumPoolSize 最大线程数
    允许的最大线程数,当你的核心线程都在工作,来新的任务,去阻塞队列排队,没满去排队,满了就会看如果最大线程也满了,就去走拒绝策略,没满去创建临时线程
  • keepAliveTime 最大线程空闲时间
    创建的临时线程的空闲时间
  • unit 时间单位
    keepAliveTime的单位
  • workQueue 阻塞队列
    大白话来讲,当你的核心线程数满了,都在干活,全扔到这里排队
  • threadFactory 线程工厂
    找个重要的就是给线程有个名称,出现问题的时候能快速锁定问题
  • handler 拒绝策略
    这里呢,就是你的阻塞队列满了,最大线程数(maximumPoolSize)也满了,走拒绝策略
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐洋QuQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值