线程池中,线程数达到核心线程数且工作队列也满了,此时提交的新任务,此时新创建的线程处理的是新提交的任务还是工作队列中的任务?

当线程池的线程数达到核心数且工作队列已满时,新提交的任务会首先尝试加入工作队列。若失败,才会创建新的线程,但新线程处理的是新任务,而非工作队列中的。如果连新线程也无法创建,意味着线程池已饱和,会拒绝新任务。
摘要由CSDN通过智能技术生成

线程池中,线程数达到核心线程数且工作队列也满了,此时提交的新任务,这时启用最大线程数,创建新的线程,那新创建的线程处理的是新提交的任务还是工作队列中的任务?

答案:此时新提交的任务会先尝试加入工作队列,如果失败,则创建新的线程去执行。

直接上源码

注释:如果不能加入任务队列,尝试创建一个新的线程,如果也失败了,那我们就知道已经关闭了或者饱和了,我们就会拒绝它!!!!

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
线程池是一种用于管理和复用线程的机,它包含一个任务队列和一组核心线程任务队列用于存储待执行的任务,而核心线程则负责执行任务任务队列核心线程以及最大线程之间存在以下关系: 1. 任务队列任务队列线程池的一个重要组成部分,用于存储待执行的任务。当线程池核心线程都在执行任务时,任务会被放入任务队列等待执行。任务队列的大小可以根据实际需求进行配置,可以是有界队列或无界队列。 2. 核心线程核心线程线程池同时执行任务的最小线程量。当有任务到达时,如果核心线程还未达到上限,线程池会创建核心线程来执行任务。如果核心线程已经达到上限,任务会被放入任务队列等待执行。 3. 最大线程:最大线程线程池允许存在的最大线程量。当任务队列核心线程达到上限时,线程池会创建的非核心线程来执行任务。最大线程的设置需要根据系统资源和应用需求进行合理配置,避免过多的线程导致资源浪费或性能下降。 综上所述,任务队列核心线程以及最大线程共同协作,确保线程池能够高效地执行任务任务队列用于存储待执行的任务核心线程控制同时执行任务的最小线程量,而最大线程则限制线程池允许存在的最大线程量。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值