如何延迟ScheduledExecutorService?

时间:2013-04-26 18:10:47

标签: java multithreading

我有ScheduledExecutorService定期执行任务:

executor.scheduleWithFixedDelay(new Runnable() {

在特定事件中,我想重置或延迟时间表。怎么能或应该这样做?

1 个答案:

答案 0 :(得分:2)

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

Future<?> taskHandle = scheduledExecutorService.scheduleAtFixedRate

然后在其上拨打cancel并以不同的费率再次安排。

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