Как остановить задачу, запланированную на Java

1

Я использую класс java.util.timer, и я пишу этот код

Timer myTimer = new Timer();
MyTask myTask = new MyTask() //MyTask extends TimerTask
Date alarmDate = new Date();
myTimer.schedule(myTask, alarmDate);

и выполнить несколько задач в определенное время, используя этот метод

но я должен остановить некоторые из них. Как я могу это сделать методом отмены "myTask.cancel (Дата)"??

  • 0
    Вы хотите остановить текущую задачу?
Теги:

1 ответ

1

TimerTask.cancel() принимает аргументов. Просто позвони

myTask.cancel();

Обратите внимание на следующий комментарий в документах API для Timer:

Java 5.0 представила пакет java.util.concurrent, и одна из утилит параллелизма в нем - ScheduledThreadPoolExecutor, который является пулом потоков для многократного выполнения задач с заданной скоростью или задержкой. Это эффективно более универсальная замена комбинации Timer/TimerTask, поскольку она позволяет несколько потоков обслуживания, принимает различные единицы времени и не требует подкласса TimerTask (просто реализовать Runnable). Настройка ScheduledThreadPoolExecutor с одним потоком делает его эквивалентным таймеру.

Хотя это может быть немного больше кода для реализации, он обеспечивает лучший контроль над представленными задачами.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню