我有ScheduledExecutorService
定期执行任务:
executor.scheduleWithFixedDelay(new Runnable() {
在特定事件中,我想重置或延迟时间表。怎么能或应该这样做?
答案 0 :(得分:2)
您需要保留对该方法返回的Future<?>
的引用。
Future<?> taskHandle = scheduledExecutorService.scheduleAtFixedRate
然后在其上拨打cancel
并以不同的费率再次安排。
taskHandle.cancel(false);
taskHandle = scheduledExecutorService.scheduleAtFixedRate