Antworten:
Behalten Sie irgendwo einen Verweis auf den Timer und verwenden Sie:
timer.cancel();
timer.purge();
zu stoppen, was auch immer es tut. Sie können diesen Code in die Aufgabe einfügen, die Sie mit a ausführen, um static intzu zählen, wie oft Sie herumgegangen sind, z
private static int count = 0;
public static void run() {
count++;
if (count >= 6) {
timer.cancel();
timer.purge();
return;
}
... perform task here ....
}
cancelwürde es selbst funktionieren.
Entweder Anruf cancel()auf dieTimer , wenn das alles es tut, oder cancel()auf demTimerTask , wenn der Timer selbst hat andere Aufgaben , die Sie wünschen , um fortzufahren.
Sie sollten die Aufgabe stoppen, die Sie für den Timer geplant haben: Ihr Timer:
Timer t = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() {
//do something
};
}
t.schedule(tt,1000,1000);
Um aufzuhören:
tt.cancel();
t.cancel(); //In order to gracefully terminate the timer thread
Beachten Sie, dass nur das Abbrechen des Timers laufende Timertasks nicht beendet.
Beenden Sie den Timer einmal nach dem Aufwachen zu einem bestimmten Zeitpunkt in Millisekunden.
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() {
System.out.println(" Run spcific task at given time.");
t.cancel();
}
}, 10000);