ScheduledExecutorService中断具体任务的周期性执行
ScheduledExecutorService interrupt periodic execution of concrete tasks
我有一个工作池,我 运行 在 ScheduledExecutorService 的帮助下定期工作。现在我想停止定期执行某些任务,而其他任务应该保持不变。这个仪表的好方法是什么?
ScheduledExecutorService 中的方法return 一个 ScheduledFuture。您可以保留对此 ScheduledFuture 的引用,并在您要取消的特定对象上调用取消。
或许可以将它们保存在带有某种标识符的地图中,这样您就知道要取消哪些。
ScheduledExecutorService bla;
//Put a bunch of scheduled stuff in a map
for(int i = 0; i < 10; i++){
map.put(i, bla.schedule(() -> {}, 10, TimeUnit.DAYS));
}
//Cancel number 5
map.get(5).cancel(true);
我有一个工作池,我 运行 在 ScheduledExecutorService 的帮助下定期工作。现在我想停止定期执行某些任务,而其他任务应该保持不变。这个仪表的好方法是什么?
ScheduledExecutorService 中的方法return 一个 ScheduledFuture。您可以保留对此 ScheduledFuture 的引用,并在您要取消的特定对象上调用取消。
或许可以将它们保存在带有某种标识符的地图中,这样您就知道要取消哪些。
ScheduledExecutorService bla;
//Put a bunch of scheduled stuff in a map
for(int i = 0; i < 10; i++){
map.put(i, bla.schedule(() -> {}, 10, TimeUnit.DAYS));
}
//Cancel number 5
map.get(5).cancel(true);