у меня есть:Как остановить Executors.newSingleThreadScheduledExecutor
private final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
, который работает исполняемую задачу: (? WTF, почему)
executorService.scheduleAtFixedRate(task, 0, 1, TimeUnit.SECONDS);
Но оказывается, что executorService
не способ отменить , отключить его - это не вариант, и я делаю что-то довольно просто, поэтому использование Executors.newScheduledThreadPool
(у которого есть cancel()
) - это немного перебор.
Есть ли способ правильно остановить выполнение задачи?
PS: Я искал, прежде чем я спросил, и я действительно не думаю, что это hack является правильным способом.
Вы ищете один из методов 'shutDown *()'. – fge
У меня есть только 'shutdownNow' и' shutDown' из 'executorService', и оба будут также предотвращать будущие задачи, но мне нужны будущие задачи. @fge – shinzou