我有一个ScheduledExecutorService
,它定期执行任务:
executor.scheduleWithFixedDelay(new Runnable() {
对于特定事件,我想重置或延迟计划的时间。如何或应该这样做?
最佳答案
您需要保留对该方法返回的Future<?>
的引用。
Future<?> taskHandle = scheduledExecutorService.scheduleAtFixedRate
然后在其上调用
cancel
并以其他速率再次安排它。taskHandle.cancel(false);
taskHandle = scheduledExecutorService.scheduleAtFixedRate