gpt4 book ai didi

java - 线程池执行器 : changing corePoolSize at run time

转载 作者:太空宇宙 更新时间:2023-11-04 06:18:03 26 4
gpt4 key购买 nike

我有一个带有 corePoolSize=1maxPoolSize=1ThreadPoolExecutor,并由无界的 LinkedBlockingQueue 支持。

假设在时间 t,池中的单个线程正在处理任务 T0。队列中有一个任务T1。

在任务 T0 处理过程中设置 corePoolSize=0 会发生什么?

  • 单个线程将处理任务 T1,然后变得空闲并被销毁(因为新的 corePoolSize),或者
  • 单线程在处理完任务 T0 后变得空闲,从而被销毁,任务 T1 保留在队列中,直到稍后 corePoolSize 增加 >0?

在线程池执行器的上下文中,线程“空闲”到底意味着什么?

最佳答案

单线程也将处理任务 T1。之后闲置一段时间后可能会被销毁。

线程处于空闲状态的情况有很多。在下面的SO帖子中对此进行了解释: When is a Java thread idle?

关于java - 线程池执行器 : changing corePoolSize at run time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27813664/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com