veröffentlicht am: 05.07.2022 zuletzt aktualisiert am: 05.02.2023
Die Java Timer-Klasse ist Teil des Pakets Java.util und hilft bei der einmaligen oder regelmäßigen Ausführung eines Jobs oder einer Aufgabe in einem bestimmten Zeitintervall. Ihre eingebauten Methoden können zur Planung von Aufgaben für ein bestimmtes Datum verwendet werden, z. B. um Erinnerungen zu setzen oder jemandem zum Geburtstag zu gratulieren.
Wenn du eine geplante Aufgabe in einem Java-Programm erstellen willst, dann erweitere die abstrakte Klasse TimerTask. Die Klasse Timer verwendet dann den definierten Job oder Task für die Zeitplanung. Anders ausgedrückt: Java Timer ist ein Scheduler, und TimeTask ist die Aufgabe, die geplant werden muss.
In diesem Artikel werden wir die Java Timer-Klasse und seine Funktionalität besprechen.
So, lass und loslegen!
Hinweis: Bevor du dich mit der Implementierung der Methoden der Timer-Klasse beschäftigst, solltest du einen Blick auf die Konstruktoren der Java Timer-Klasse werfen.
Du kannst jeden der unten angegebenen Java Konstruktoren verwenden, um ein Timer-Objekt innerhalb deiner Java-Klasse zu erstellen:
Hier haben wir einige der am häufigsten verwendeten Java Methoden der Java Timer-Klasse aufgelistet:
Schauen wir uns nun einige Java Timer-Beispiele an.
Im folgenden Beispiel planen wir eine submitAssignment-Aufgabe, die die Nachricht „Vergiss nicht deine Hausaufgabe abzugeben!“ anzeigt, wenn das Datum 2. November 2022 um 00:00 Mitternacht ist.
Zu diesem Zweck importieren wir zunächst die Klassen Calendar, Timer und TimerTask aus den Paketen Java.util:
import java.util.Calendar; import java.util.Timer; import java.util.TimerTask;
Mehr über das Schlüsselwort Java import erfahren. Als Nächstes erstellen wir eine Instanz der Klasse Timer mit dem Namen time, die dabei hilft, die vergehende Zeit zu verfolgen, und hausaufgabenAbgeben ist die Aufgabe, die von der TimeTask ausgeführt werden soll:
class MeinTimerProgramm { public static void main(String args[]) { Timer time = new Timer(); TimerTask hausaufgabenAbgeben = new TimerTask() { @Override public void run() { System.out.println("Vergiss nicht deine Hausaufgabe abzugeben!"); } }; Calendar date1 = Calendar.getInstance(); date1.set(2022, Calendar.NOVEMBER, 2, 0, 0, 0); time.schedule(hausaufgabenAbgeben, date1.getTime()); } }
Wenn die angegebene Zeit erreicht ist, wird die Java Timer-Methode schedule() die Aufgabe hausaufgabenAbgeben mit dem Timer verknüpfen. Daraufhin wird die Methode run() der TimeTask submitAssignment ausgeführt und die hinzugefügte Erinnerung im Konsolenfenster ausgedruckt:
Ausgabe auf der Konsole:
Anstelle der einfachen schedule()-Methode der Java Timer-Klasse werden wir nun die ScheduleAtFixedRate(submitAssignment, date.getTime(), 1000)-Methode verwenden, um die Aufgabe hausaufgabenAbgeben entsprechend der angegebenen Zeit mit einer Zählperiode von 1000 Sekunden (1 Sekunde) zu planen.
Wir fügen auch einen Zähler x in die run()-Methode der TimerTask-Instanz submitAssignment ein, der angibt, dass die definierte Aufgabe nach zehn Sekunden ausgeführt wird:
import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; class Test { public static void main(String args[]) { Timer time = new Timer(); TimerTask hausaufgabenAbgeben = new TimerTask() { int x = 10; @Override public void run() { if (x > 0) { System.out.println(x); x--; } else { System.out.println("Vergiss nicht deine Hausaufgabe abzugeben!"); time.cancel(); } } }; Calendar date = Calendar.getInstance(); date.set(2022, Calendar.NOVEMBER, 02, 23, 59, 50); time.scheduleAtFixedRate(hausaufgabenAbgeben, date.getTime(), 1000); } }
Nach der hinzugefügten Logik wird der Zähler am 2. November, um 23:59 Uhr und in der 50. Sekunde starten und die hinzugefügte Erinnerung nach zehn Sekunden anzeigen. Wir haben zudem die Java Override Annotation verwendet!
Das waren alle wesentlichen Informationen zu den Java Timer Aufgaben und der Zeitplanung. Du kannst bei Bedarf gerne weiter recherchieren.
Die Objekte der Klasse Java Timer werden verwendet, um verschiedene Aufgaben zu planen, die nach einem bestimmten Zeitraum oder einem bestimmten Datum und einer bestimmten Uhrzeit ausgeführt werden können. Außerdem kannst du die Aufgabe für eine einmalige oder wiederholte Ausführung planen. Die Java Timer-Klasse nutzt die Hintergrund-Threads für die Planung von Aufgaben. In diesem Artikel wurden die Java Timer-Klasse, ihre Konstruktoren, Methoden und ihre Implementierung besprochen.
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Java und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig