CodeGym /Blog Java /Random-PL /Klasa licznika czasu Java
John Squirrels
Poziom 41
San Francisco

Klasa licznika czasu Java

Opublikowano w grupie Random-PL
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.

Wniosek

Klasa Java Timer z pakietu java.util.Timer to wszechstronne narzędzie do planowania zadań w aplikacjach Java. Pozwala zautomatyzować wykonywanie kodu w określonych odstępach czasu, dzięki czemu jest przydatny w różnych scenariuszach, takich jak wyzwalanie zdarzeń, wykonywanie okresowych aktualizacji czy planowanie procesów w tle. W tym artykule omówiliśmy podstawy klasy Java Timer , w tym tworzenie obiektu Timer , planowanie zadań z opóźnieniami lub określonymi czasami oraz konfigurowanie powtarzalnych wykonań. Dowiedzieliśmy się także o ważnych metodach udostępnianych przez klasę Timer , takich jak „schedule” i harmonogram (zadanie TimerTask, Date FirstTime, long period) . Efektywne wykorzystanie klasy Timer umożliwia zwiększenie poziomu automatyzacji i wydajności programów w języku Java. Eksperymentuj z różnymi opcjami planowania i odkrywaj dalsze możliwości klasy Timer , aby zwiększyć funkcjonalność swoich aplikacji.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION