Java ScheduledExecutorService-取消是否将硬盘返回到线程池?
我使用这段代码来维护ping,并在稍后通知我的程序的readingJava ScheduledExecutorService-取消是否将硬盘返回到线程池?,java,multithreading,Java,Multithreading,我使用这段代码来维护ping,并在稍后通知我的程序的reading scheduler = Executors.newScheduledThreadPool(2); pingHandler = scheduler.scheduleAtFixedRate([command], 5, 5, TimeUnit.MINUTES); notifyHandler = scheduler.scheduleAtFixedRate([command], 1, 1, TimeUnit.MINUTES); 之后:
scheduler = Executors.newScheduledThreadPool(2);
pingHandler = scheduler.scheduleAtFixedRate([command], 5, 5, TimeUnit.MINUTES);
notifyHandler = scheduler.scheduleAtFixedRate([command], 1, 1, TimeUnit.MINUTES);
之后:
pingHandler.cancel(true);
我能再说一遍吗
pingHandler = scheduler.scheduleAtFixedRate([command], 5, 5, TimeUnit.MINUTES);
??
行吗?或者池中将不再有可用线程?好吧,阅读文档。。。它应该会起作用。只是想知道:你为什么不试试呢?看起来你已经把大部分的代码放在一起了,是什么阻止你编写一系列的单元测试来看看实际发生了什么?我测试了它,它似乎可以工作,但我不知道它是否是正确的解决方案,也不知道它是否会在将来产生一些问题;文档非常清楚。它说“取消”结束一项任务。它说固定线程池将始终允许两个线程。并通过测试,;这听起来像是“很有可能是正确的”。另一方面,它的多线程;这总是有可能带来惊喜。所以,我会同意的。我只是想问,因为有些人可能有更大的知识。谢谢你的回复。