gpt4 book ai didi

java - 并发-如何使其排队而不被拒绝?

转载 作者:行者123 更新时间:2023-11-30 06:32:35 24 4
gpt4 key购买 nike

使用用户sjlee在这里给出的答案Impossible to make a cached thread pool with a size limit?

用代码

new ThreadPoolExecutor(100, // core size
10000, // max size
1000, // idle timeout
TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(Integer.MAX_SIZE)); // queue with a size

如果任务数量超过 coreSize 100 * queueSize 20 个,线程数量将会增加,直到达到最大大小。

好的。

但问题是,假设一切都完成了,没有更多的任务,线程数量不会减少。

如何让Executor在线程全部空闲时将其数量减少到0?

接下来,如何让 Executor 将 extras 排队以便稍后运行?

最佳答案

您可以使用allowCoreThreadTimeOut(true)来使核心线程在超时时终止。

关于java - 并发-如何使其排队而不被拒绝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45778936/

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