如何删除ExecutorService
中所有正在运行和排队的任务,并向其中添加新任务?
ExecutorService
用来处理每一轮新任务。如果本轮未完成任务,请删除这些旧任务,并在下一轮中添加即将发布的新闻任务。 ExecutorService
将在下一轮中重复使用,因此无法关闭ExecutorService
。有人知道怎么做吗?
如何在ExecutorService中删除所有正在运行和排队的任务并向其中添加新任务?
添加很容易-只需拨打submit
。另一方面,删除则比较麻烦-您可以致电shutdownNow
。 Javadoc:
尝试停止所有正在执行的任务,暂停正在等待的任务的处理,并返回正在等待执行的任务的列表。
如果要进行更精细的控制,请不要使用ExecutorService
。相反,请尝试实现ThreadPoolExecutor
的ExecutorService
。在ThreadPoolExecutor
中,您可以直接访问Runnable的队列。