线程池参数说明

各个参数讲解:

线程池参数说明
核心线程数量:参数指定了线程池中保留的核心线程数。在任务数量小于等于核心线程数时,线程池中会一直保留这些核心线程,即使它们处于空闲状态。这样可以避免频繁地创建和销毁线程,提高线程池的效率。当任务数量大于核心线程数时,线程池会根据情况动态地创建新线程来处理任务,直到达到最大线程数。
最大线程数: 程序中最大可以存在的线程数量。
最大空闲时间和时间单位:除了核心线程,其余的线程超过最大的空闲时间的话会被销毁。时间单位就是这个最大时间的时间单位。
线程工厂:线程池中的threadFactory参数指定了用于创建线程的工厂。线程池会根据需要创建新的线程来执行任务,而线程工厂则负责创建这些线程。通过指定自定义的线程工厂,可以控制线程的创建方式,例如设置线程的名称、优先级、是否为守护线程等。在Java中,可以通过实现ThreadFactory接口来定义自己的线程工厂。在创建线程池时,可以将自定义的线程工厂作为参数传入。
任务队列:当任务数量达到核心线程数量时,不会立即创建新线程而是加入任务队列排队,当任务队列装不下的时候才会网最大线程数继续创建新线程。
饱和处理机制:RejectedExecutionHandler参数是线程池中的一个参数,用于处理当线程池中的任务队列已满,无法继续接收新的任务时该如何处理。该参数有以下三种可选值:

  1. ThreadPoolExecutor.AbortPolicy:当任务队列已满时,直接抛出RejectedExecutionException异常。

  2. ThreadPoolExecutor.CallerRunsPolicy:当任务队列已满时,将任务返回给提交任务的线程执行。

  3. ThreadPoolExecutor.DiscardOldestPolicy:当任务队列已满时,丢弃队列中最早的任务,然后尝试再次提交任务。

  4. ThreadPoolExecutor.DiscardPolicy:当任务队列已满时,直接丢弃新提交的任务,不做任何处理。

这个参数可以根据实际情况进行设置,以保证线程池的正常运行。

形象理解线程池参数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

谢少迪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值