【发布时间】:2012-04-02 16:07:09
【问题描述】:
我向 Java 中的 executorservice 提交了一堆作业,我想暂时暂停所有这些作业。最好的方法是什么?我该如何恢复?还是我这样做完全错了?我是否应该遵循其他模式来实现我想要实现的目标(即暂停/恢复执行服务的能力)?
【问题讨论】:
-
您的意思是阻止新作业运行,还是暂停已经运行的作业?
-
暂停已经运行的作业。暂停/恢复可能会在
shutdown之后调用 -
在这种情况下,您如何开始工作几乎无关紧要。您需要为暂停编写代码 - 例如,每个任务可能想要定期检查“我应该暂停”标志。当然,它仍然不会是即时的。
-
嗯,我想我可以创建自己特殊的
Runnables,它可以理解全局暂停/恢复标志。我希望有一些更清洁的方法可以使用我拥有的Futures列表或通过ExecutorService本身
标签: java multithreading concurrency parallel-processing executorservice