Die
Timer-Klasse plant Aufgaben so, dass sie zu einem bestimmten Zeitpunkt einmal oder wiederholt ausgeführt werden. Es kann auch im Hintergrund als Daemon-Thread ausgeführt werden. Um einen Timer einem Daemon-Thread zuzuordnen, verwenden Sie einen Konstruktor mit einem Boolean-Wert. Timer planen Aufgaben mit „fester Verzögerung“ und „fester Rate“. Wenn bei einer festen Verzögerung eine Ausführung durch den System-GC verzögert wird, werden auch die anderen Ausführungen verzögert, und jede Ausführung wird entsprechend der vorherigen Ausführung verzögert. Wenn eine Ausführung durch System GC verzögert wird, erfolgen zu einem festen Satz zwei bis drei Ausführungen nacheinander, um den festen Satz abzudecken, der der Startzeit der ersten Ausführung entspricht. Die Timer-Klasse stellt die Methode cancel() bereit, um den Timer abzubrechen. Wenn diese Methode aufgerufen wird, läuft der Timer ab. Die Timer-Klasse führt nur Aufgaben aus, die TimerTask implementieren. Beispielimport java.util.*;
public class TimerThreadTest {
public static void main(String []args) {
Task t1 = new Task("Task 1");
Task t2 = new Task("Task 2");
Timer t = new Timer();
t.schedule(t1, 10000); <strong>// executes for every 10 seconds</strong>
t.schedule(t2, 1000, 2000); <strong>// executes for every 2 seconds</strong>
}
}
class Task extends TimerTask {
private String name;
public Task(String name) {
this.name = name;
}
public void run() {
System.out.println("[" + new Date() + "] " + name + ": task executed!");
}
}
Ausgabe
[Thu Aug 01 21:32:44 IST 2019] Task 2: task executed! [Thu Aug 01 21:32:46 IST 2019] Task 2: task executed! [Thu Aug 01 21:32:48 IST 2019] Task 2: task executed! [Thu Aug 01 21:32:50 IST 2019] Task 2: task executed! [Thu Aug 01 21:32:52 IST 2019] Task 2: task executed! [Thu Aug 01 21:32:53 IST 2019] Task 1: task executed! [Thu Aug 01 21:32:54 IST 2019] Task 2: task executed! [Thu Aug 01 21:32:56 IST 2019] Task 2: task executed! [Thu Aug 01 21:32:58 IST 2019] Task 2: task executed! [Thu Aug 01 21:33:00 IST 2019] Task 2: task executed!
Das obige ist der detaillierte Inhalt vonWie können wir einen Timer-Thread in Java implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!