我想要一个ScheduledThreadPoolExecutor
,如果没有工作要做,该代码也将停止最后一个线程,并在有新任务时创建(并使线程保持 Activity 状态一段时间)。但是一旦没有更多工作要做,它应该再次丢弃所有线程。
我天真地将其创建为new ScheduledThreadPoolExecutor(0)
,但是结果是,从未创建线程,也未执行任何计划任务。
有人可以告诉我是否可以在不围绕ScheduledThreadpoolExecutor
编写自己的包装的情况下实现我的目标吗?
提前致谢!
最佳答案
其实你可以做到,但是它不是很明显:
m_Executor = new ScheduledThreadPoolExecutor ( 16,null );
m_Executor.setKeepAliveTime ( 5, TimeUnit.SECONDS );
m_Executor.allowCoreThreadTimeOut ( true );
尽管
关于java - ScheduledThreadPoolExecutor和corePoolSize 0?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2335702/