2009-09-11 9 views

Antwort

94

einen Verweis auf den Timer Halten Sie irgendwo, und Verwendung:

timer.cancel(); 
timer.purge(); 

zu stoppen, was es tut. Sie können diesen Code in die Aufgabe, die Sie ausführen, mit einem static int setzen, um die Anzahl der Male zu zählen, die Sie durchlaufen haben, z.

private static int count = 0; 
public static void run() { 
    count++; 
    if (count >= 6) { 
     timer.cancel(); 
     timer.purge(); 
     return; 
    } 

    ... perform task here .... 

} 
+4

Ich denke stornieren genug ist, brauchen keine Spülung haben – Jacky

+0

ist es gut timer.cancel() in final nach (Effetive Java Buch) –

+0

hinzuzufügen @Jacky es gute Praxis ist, beides zu haben, aber Theoretisch würde 'cancel' selbst funktionieren. –

13

Sie sollten die Aufgabe stoppen, die Sie auf dem Timer programmiert haben: Ihr Timer:

Timer t = new Timer(); 
TimerTask tt = new TimerTask() { 
    @Override 
    public void run() { 
     //do something 
    }; 
} 
t.schedule(tt,1000,1000); 

Um zu stoppen:

tt.cancel(); 
t.cancel(); //In order to gracefully terminate the timer thread 

Beachten Sie, dass nur die Timer-Cancelling wird laufende Laufzeiten nicht beenden.

9
timer.cancel(); //Terminates this timer,discarding any currently scheduled tasks. 

timer.purge(); // Removes all cancelled tasks from this timer's task queue. 
1

Beenden Sie den Timer einmal nach einer bestimmten Zeit 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); 
Verwandte Themen