Преобразование из ScheduleAtFixedRate в CachedThreadPool - PullRequest
0 голосов
/ 11 сентября 2018

Поток ниже запускается каждые 12-24 часа, и я не хочу иметь свободный поток в пуле.Текущий код:

private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
...
scheduler.scheduleAtFixedRate(() -> getLastestJson(), INITIAL_DELAY, CHECK_INTERVAL, TimeUnit.MINUTES);

Как я могу использовать newCachedThreadPool() в этом случае, когда CHECK_INTERVAL> 12 часов.Продолжительность операции <15 сек. </p>

1 Ответ

0 голосов
/ 11 сентября 2018

Вы не можете, на самом деле, потому что поток нуждается в , чтобы ждать, чтобы начать новую работу в соответствующее время. Ваша текущая версия - это минимальное решение с 1 «незанятым» потоком.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...