Estou usando java.util.timer
classe e estou usando seu método de programação para realizar alguma tarefa, mas depois de executá-la por 6 vezes, tenho que interromper sua tarefa.
Como devo fazer isso?
Respostas:
Mantenha uma referência ao cronômetro em algum lugar e use:
timer.cancel();
timer.purge();
para parar o que quer que esteja fazendo. Você poderia colocar esse código dentro da tarefa que está executando com um static int
para contar o número de vezes que você fez isso, por exemplo
private static int count = 0;
public static void run() {
count++;
if (count >= 6) {
timer.cancel();
timer.purge();
return;
}
... perform task here ....
}
cancel
funcionaria.
De qualquer chamada cancel()
noTimer
se isso é tudo que está fazendo, ou cancel()
noTimerTask
caso do próprio temporizador tem outras tarefas que você deseja continuar.
Você deve interromper a tarefa que programou no cronômetro: Seu cronômetro:
Timer t = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() {
//do something
};
}
t.schedule(tt,1000,1000);
Para parar:
tt.cancel();
t.cancel(); //In order to gracefully terminate the timer thread
Observe que apenas cancelar o cronômetro não encerrará os cronogramas em andamento.
Encerre o cronômetro uma vez após acordar em um horário específico em milissegundos.
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println(" Run spcific task at given time.");
t.cancel();
}
}, 10000);