gpt4 book ai didi

java - ScheduledThreadPoolExecutor 的线程池大小是否持续增长?

转载 作者:行者123 更新时间:2023-12-01 13:53:59 25 4
gpt4 key购买 nike

想象一下将任务添加到 ScheduledThreadPoolExecutor 中的情况。这些任务中的每一个都将以不同的周期间隔继续运行。

尽管所有此类任务不会同时运行,因为每个任务设置的时间间隔不同,但可能会出现大量线程竞争执行的情况。

线程总数有限制吗?似乎对空闲线程总数有限制。空闲线程的概念是否意味着长时间运行的任务(线程)可以在需要时被销毁并重新创建?

最佳答案

scheduledthreadpoolexecutor 的线程池大小是否持续增长?

没有。来自 http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html :

.... it acts as a fixed-sized pool using corePoolSize threads ...

线程总数有限制吗?

是的。见上文。

似乎对空闲线程总数有限制。

我不确定是什么让你这么想;文档(或测试时的行为)中没有任何内容暗示这一点。

空闲线程的概念是否意味着长时间运行的任务(线程)可以在需要时被销毁并重新创建?

任务!=线程;这个问题没有多大意义。任务在其运行的整个过程中都会占用其线程;因此,长时间运行的任务将使线程长时间占用,从而减少在此期间可用于其他计划任务的线程数量。任务永远不会被执行者销毁和重新创建,期间。执行器可能会尝试停止任务,但前提是您明确告诉它这样做,例如通过 shutdownNow() 来中断所有正在运行的任务。无关的是,固定大小池中的线程不会被销毁或重新创建,因为它是固定大小池。

关于java - ScheduledThreadPoolExecutor 的线程池大小是否持续增长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19740641/

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