ScheduledExecutorService

ScheduledExecutorService

我有一个ScheduledExecutorService,它定期执行任务:

executor.scheduleWithFixedDelay(new Runnable() {


对于特定事件,我想重置或延迟计划的时间。如何或应该这样做?

最佳答案

您需要保留对该方法返回的Future<?>的引用。

Future<?> taskHandle = scheduledExecutorService.scheduleAtFixedRate


然后在其上调用cancel并以其他速率再次安排它。

taskHandle.cancel(false);
taskHandle = scheduledExecutorService.scheduleAtFixedRate

10-02 23:18