2013-04-26 5 views
1

У меня есть ScheduledExecutorService, который выполняет задачу периодически:Как задержать службу ScheduledExecutorService?

executor.scheduleWithFixedDelay(new Runnable() { 

На конкретном случае, я хочу, чтобы сбросить или время задержки для расписания. Как это можно или нужно сделать?

ответ

2

Вам необходимо сохранить ссылку на возвращаемый этим методом номер Future<?>.

Future<?> taskHandle = scheduledExecutorService.scheduleAtFixedRate 

Затем вызовите cancel на него, и запланировать его снова с разной скоростью.

taskHandle.cancel(false); 
taskHandle = scheduledExecutorService.scheduleAtFixedRate 
Смежные вопросы