CodeGym /Blog Java /Random-FR /Classe de minuterie Java
John Squirrels
Niveau 41
San Francisco

Classe de minuterie Java

Publié dans le groupe Random-FR
La classe Java Timer est un outil puissant qui vous permet de planifier l'exécution de tâches à des intervalles spécifiés. Que vous ayez besoin d'exécuter une tâche une fois ou à plusieurs reprises, la classe Timer constitue un moyen pratique d'automatiser vos programmes Java. Dans cet article, nous explorerons les fonctionnalités de la classe Java Timer et apprendrons comment la mettre en œuvre efficacement.

Introduction à la classe Java Timer

La classe Timer fait partie du package java.util et est utilisée pour planifier des tâches à exécuter à une heure spécifiée ou à intervalles réguliers. Il fournit un moyen simple et fiable d'exécuter du code à des intervalles prédéterminés, ce qui le rend idéal pour des tâches telles que le déclenchement d'événements, l'exécution de mises à jour périodiques ou la planification de processus en arrière-plan. Pour utiliser la classe Timer , vous devez créer un objet Timer à partir de la classe java.util.Timer . Cet objet Timer est responsable de la planification et de l'exécution des tâches en fonction de vos besoins.

Création d'un objet minuterie

Commençons par créer un objet Timer et explorer ses méthodes. Dans l'exemple de code suivant, nous créons un objet Timer et planifions une tâche à exécuter une fois après un délai spécifié :
// 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
    }
}
Dans cet exemple mis à jour, l' objet Timer est créé à l'aide de la classe Timer . Chaque TimerTask représente une tâche qui doit être planifiée et exécutée par le minuteur. La méthode run dans chaque TimerTask contient le code à exécuter lors de l'exécution de la tâche. Les tâches sont ensuite planifiées à l'aide de la méthode planning de la classe Timer , en précisant la tâche et le délai en millisecondes. Dans ce code, la méthode de planification est utilisée trois fois, à chaque fois avec une tâche et un délai différents.

Sortir

Lorsque vous exécutez le code, il affichera :
Tâche 1 exécutée ! Tâche 2 exécutée ! Tâche 3 exécutée !
Chaque tâche est exécutée après son délai respectif, démontrant la fonctionnalité de la classe Timer .

Méthodes de minuterie

La classe Timer fournit diverses méthodes pour planifier l’exécution des tâches. Explorons quelques-unes des méthodes couramment utilisées :

1. planning (tâche TimerTask, long délai)

Cette méthode planifie l'exécution de la tâche spécifiée après le délai spécifié. Le délai est spécifié en millisecondes. Par exemple:
timer.schedule(task, 5000); // Schedule the task to run after a 5-second delay

2. planning (tâche TimerTask, Date heure)

Cette méthode planifie l'exécution de la tâche spécifiée à l'heure spécifiée. La tâche ne sera exécutée qu'une seule fois. Par exemple:
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. planning (tâche TimerTask, long délai, longue période)

Cette méthode planifie la tâche spécifiée pour une exécution répétée après le délai spécifié et aux intervalles spécifiés. Le délai est le temps en millisecondes avant la première exécution et la période est le temps en millisecondes entre les exécutions suivantes. Par exemple:
timer.schedule(task, 2000, 5000); // Schedule the task to run after a 2-second delay and repeat every 5 seconds

Calendrier de la minuterie Java

En plus des méthodes de planification de base, la classe Timer fournit également une méthode de planification puissante appelée planning(TimerTask task, Date firstTime, long period) . Cette méthode vous permet de planifier une tâche pour une exécution répétée commençant à une heure précise et à intervalles réguliers. Voici un exemple qui illustre l'utilisation de cette méthode :
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);
    }
}
Dans cet exemple, nous créons un objet Timer et définissons une TimerTask comme précédemment. Nous créons également un objet startTime de type Date pour spécifier l'heure de début de la tâche. La méthode de planification est ensuite utilisée pour planifier l'exécution de la tâche toutes les 5 secondes à partir de l'heure actuelle. Avec cette méthode de planification, la tâche continuera à s'exécuter à l'intervalle spécifié jusqu'à ce que l' objet Timer soit annulé ou que le programme soit terminé. Sinon, une exception sera levée.

Conclusion

La classe Java Timer du package java.util.Timer est un outil polyvalent pour planifier des tâches dans vos applications Java. Il vous permet d'automatiser l'exécution du code à des intervalles spécifiés, ce qui le rend utile pour divers scénarios tels que le déclenchement d'événements, l'exécution de mises à jour périodiques ou la planification de processus en arrière-plan. Dans cet article, nous avons exploré les bases de la classe Java Timer , notamment la création d' un objet Timer , la planification de tâches avec des retards ou des heures spécifiques et la configuration d'exécutions répétitives. Nous avons également découvert les méthodes importantes fournies par la classe Timer , telles que `schedule` et planning(TimerTask task, Date firstTime, long period) . En utilisant efficacement la classe Timer , vous pouvez ajouter un niveau d'automatisation et d'efficacité à vos programmes Java. Expérimentez avec différentes options de planification et explorez d'autres capacités de la classe Timer pour améliorer les fonctionnalités de vos applications.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION