gpt4 book ai didi

java - ScheduledThreadPoolExecutor 和 corePoolSize 0?

转载 作者:太空狗 更新时间:2023-10-29 22:50:09 25 4
gpt4 key购买 nike

我想要一个 ScheduledThreadPoolExecutor,如果没有工作要做,它也会停止最后一个线程,如果有新任务,它会创建(并让线程保持 Activity 状态一段时间)。但是一旦没有更多的工作要做,它应该再次丢弃所有线程。

我天真地将它创建为 new ScheduledThreadPoolExecutor(0) 但结果是,没有创建线程,也没有执行任何计划任务。

谁能告诉我是否可以在不围绕 ScheduledThreadpoolExecutor 编写自己的包装器的情况下实现我的目标?

提前致谢!

最佳答案

实际上你可以做到,但它并不明显:

  • 创建一个新的 ScheduledThreadPoolExecutor
  • 在构造函数中将核心线程设置为您想要的最大线程数
  • 设置执行器的keepAliveTime
  • 最后,让核心线程超时

    m_Executor = new ScheduledThreadPoolExecutor ( 16,null );
    m_Executor.setKeepAliveTime ( 5, TimeUnit.SECONDS );
    m_Executor.allowCoreThreadTimeOut ( true );

    尽管这仅适用于 Java 6

关于java - ScheduledThreadPoolExecutor 和 corePoolSize 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2335702/

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