Я использую одну ScheduledThreadPoolExecutor
для управления несколькими задачами и хотел бы добавить опцию для их остановки.
Я понимаю разницу между shutdown и shutdownNow в обычной службе исполнителя и мне интересно понять, как онаповлияет на задачи в ScheduledThreadPoolExecutor
- где задачи также планируется запускать через регулярные промежутки времени.
С учетом запущенного ScheduledThreadPoolExecutor
, в котором есть как запущенные задачи, так и запланированные однократные задачи для запуска в будущем, а также задачикоторые запланированы для запуска с постоянным интервалом (один раз каждые X минут).Что будет лучшим способом для реализации следующих «команд»:
- Остановите все сейчас.Немедленно остановите все запущенные задачи. Не запускайте никакие задачи, которые были запланированы, но еще не запущены.
- В настоящее время запущенные потоки могут быть завершены при необходимости.Не запускайте задачи, которые уже запланированы, но еще не запущены.