Я использую java.util.Timer
класс, и я использую его метод расписания для выполнения некоторой задачи, но после выполнения его 6 раз я должен остановить его задачу.
Как мне это сделать?
Ответы:
Сохраните где-нибудь ссылку на таймер и используйте:
timer.cancel();
timer.purge();
чтобы остановить все, что он делает. Вы можете поместить этот код в задачу, которую вы выполняете, static int
чтобы подсчитать, сколько раз вы проходили, например
private static int count = 0;
public static void run() {
count++;
if (count >= 6) {
timer.cancel();
timer.purge();
return;
}
... perform task here ....
}
cancel
само по себе подойдет .
Либо вызов cancel()
наTimer
, если это все , что он делает, или cancel()
наTimerTask
, если сам таймер имеет другие задачи , которые вы хотите , чтобы продолжить.
Вы должны остановить задачу, которую вы запланировали на таймере: Ваш таймер:
Timer t = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() {
//do something
};
}
t.schedule(tt,1000,1000);
Чтобы остановить:
tt.cancel();
t.cancel(); //In order to gracefully terminate the timer thread
Обратите внимание, что простая отмена таймера не приведет к прекращению текущих задач timertas.
Завершите таймер один раз после пробуждения в определенное время в миллисекундах.
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println(" Run spcific task at given time.");
t.cancel();
}
}, 10000);