Klasa Java Timer to potężne narzędzie, które pozwala zaplanować wykonywanie zadań w określonych odstępach czasu. Niezależnie od tego, czy chcesz uruchomić zadanie raz, czy wielokrotnie, klasa Timer zapewnia wygodny sposób automatyzacji programów Java. W tym artykule przyjrzymy się funkcjom klasy Java Timer i dowiemy się, jak skutecznie ją wdrożyć.
Wprowadzenie do klasy Java Timer
Klasa Timer jest częścią pakietu java.util i służy do planowania zadań do wykonania o określonej godzinie lub w regularnych odstępach czasu. Zapewnia prosty i niezawodny sposób wykonywania kodu w określonych odstępach czasu, dzięki czemu idealnie nadaje się do zadań takich jak wyzwalanie zdarzeń, wykonywanie okresowych aktualizacji lub planowanie procesów w tle. Aby użyć klasy Timer , musisz utworzyć obiekt Timer z klasy java.util.Timer . Ten obiekt Timer jest odpowiedzialny za planowanie i wykonywanie zadań w oparciu o Twoje wymagania.Tworzenie obiektu timera
Zacznijmy od utworzenia obiektu Timer i poznania jego metod. W poniższym przykładzie kodu tworzymy obiekt Timer i planujemy jednorazowe wykonanie zadania po określonym opóźnieniu:// First we will import the java.util.Timer & java.util.TimerTask classes
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer(); // Creating a Timer object from the timer class
TimerTask task1 = new TimerTask() {
public void run() {
System.out.println("Task 1 executed!");
}
};
TimerTask task2 = new TimerTask() {
public void run() {
System.out.println("Task 2 executed!");
}
};
TimerTask task3 = new TimerTask() {
public void run() {
System.out.println("Task 3 executed!");
}
};
// Scheduling tasks to run after specified delays
timer.schedule(task1, 2000); // Using the schedule method of the timer class
timer.schedule(task2, 4000); // Using the schedule method of the timer class
timer.schedule(task3, 6000); // Using the schedule method of the timer class
}
}
W tym zaktualizowanym przykładzie obiekt Timer jest tworzony przy użyciu klasy Timer . Każde TimerTask reprezentuje zadanie, które ma zostać zaplanowane i wykonane przez timer. Metoda run w każdym TimerTask zawiera kod, który ma zostać wykonany po uruchomieniu zadania. Zadania są następnie planowane przy użyciu metody harmonogramu klasy Timer , określając zadanie i opóźnienie w milisekundach. W tym kodzie metoda harmonogramu została użyta trzykrotnie, za każdym razem z innym zadaniem i opóźnieniem.
Wyjście
Po uruchomieniu kodu wyświetli się:
Zadanie 1 wykonane! Zadanie 2 wykonane! Zadanie 3 wykonane!
Każde zadanie jest wykonywane z odpowiednim opóźnieniem, demonstrując funkcjonalność klasy Timer .
Metody timera
Klasa Timer udostępnia różne metody planowania zadań do wykonania. Przyjrzyjmy się niektórym powszechnie stosowanym metodom:1. harmonogram (zadanie TimerTask, duże opóźnienie)
Ta metoda planuje wykonanie określonego zadania po określonym opóźnieniu. Opóźnienie jest podawane w milisekundach. Na przykład:timer.schedule(task, 5000); // Schedule the task to run after a 5-second delay
2. harmonogram (zadanie TimerTask, data i godzina)
Ta metoda planuje wykonanie określonego zadania o określonej godzinie. Zadanie zostanie wykonane tylko raz. Na przykład:Date executionTime = new Date(System.currentTimeMillis() + 5000); // Get the current time + 5 seconds
timer.schedule(task, executionTime); // Schedule the task to run at the specified time
3. harmonogram (zadanie TimerTask, duże opóźnienie, długi okres)
Ta metoda planuje ponowne wykonanie określonego zadania po określonym opóźnieniu i w określonych odstępach czasu. Opóźnienie to czas w milisekundach przed pierwszym wykonaniem, a okres to czas w milisekundach pomiędzy kolejnymi wykonaniami. Na przykład:timer.schedule(task, 2000, 5000); // Schedule the task to run after a 2-second delay and repeat every 5 seconds
Harmonogram timera Java
Oprócz podstawowych metod planowania, klasa Timer udostępnia również zaawansowaną metodę planowania zwaną harmonogramem (zadanie TimerTask, Data po raz pierwszy, długi okres) . Ta metoda pozwala zaplanować powtarzalne wykonanie zadania o określonej godzinie i w regularnych odstępach czasu. Oto przykład demonstrujący użycie tej metody:import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
public class TimerExample {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
System.out.println("Task executed!");
}
};
// Schedule the task to run every 5 seconds starting from the current time
Date startTime = new Date();
timer.schedule(task, startTime, 5000);
}
}
W tym przykładzie tworzymy obiekt Timer i definiujemy TimerTask tak jak poprzednio. Tworzymy również obiekt startTime typu Date , aby określić godzinę rozpoczęcia zadania. Następnie używana jest metoda harmonogramu , aby zaplanować uruchamianie zadania co 5 sekund, począwszy od bieżącego czasu . Dzięki tej metodzie planowania zadanie będzie wykonywane w określonych odstępach czasu, aż do anulowania obiektu Timer lub zakończenia programu. W przeciwnym razie zgłosi wyjątek.
GO TO FULL VERSION