Я все перепробовал. Это тоже Как остановить задачу, запланированную в классе Java.util.Timer
У меня есть одна задача, которая реализует java.util.TimerTask
Я вызываю эту задачу двумя способами:
Я планирую Таймер вот так:
timer.schedule (timerTask, 60 * 1000);
иногда мне нужно, чтобы эта работа началась немедленно, и он должен отменить timerTask, если есть какие-то работающие
cancelCurrentWork (); timer.schedule (timerTask, 0);
Эта реализация не останавливает текущую работу: (в документации говорится: если задача выполняется, когда происходит этот вызов, задача будет выполнена до завершения, но никогда больше не будет запускаться)
Но мне нужно, чтобы она остановилась.
public static void cancelCurrentwork() {
if (timerTask!= null) {
timerTask.cancel();
}
}
Эта реализация просто отменяет таймер, но оставляет текущее выполнение задача, которая должна быть завершена.
public static void cancelCurrentwork() {
if (timer!= null) {
timer.cancel();
}
}
Есть ли способ в таймере ОСТАНОВИТЬ текущее выполнение тактов, что-то вроде Thread.kill () или что-то в этом роде? Когда мне нужно остановить эту задачу, я хочу, чтобы она потеряла все свои данные.