Maison  >  Article  >  Java  >  Comment régler l'heure dans la minuterie Java

Comment régler l'heure dans la minuterie Java

小老鼠
小老鼠original
2023-12-26 16:31:371592parcourir

Méthode de configuration : 1. Utilisez la méthode d'exécution de TimerTask pour définir les tâches à exécuter de manière planifiée ; 2. Grâce à la méthode de planification de Timer, vous pouvez définir l'heure de début, l'intervalle, etc. de la minuterie ; exécuté immédiatement après le démarrage du programme. Ensuite, exécutez-le toutes les 1000 millisecondes et continuez jusqu'à ce que la minuterie soit annulée.

Comment régler l'heure dans la minuterie Java

Le système d'exploitation de ce tutoriel : système Windows 10, ordinateur Dell G3.

En Java, vous pouvez utiliser les classes Timer et TimerTask pour implémenter des tâches planifiées. Voici un exemple simple qui montre comment utiliser Timer et TimerTask pour définir une minuterie et exécuter des tâches :

import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
    public static void main(String[] args) {
        // 创建定时器对象
        Timer timer = new Timer();
        // 创建定时任务对象
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                // 在此处编写定时执行的任务
                System.out.println("Task executed at: " + System.currentTimeMillis());
            }
        };
        // 设置定时器,延迟0毫秒后开始执行任务,每隔1000毫秒执行一次
        timer.schedule(task, 0, 1000);
        // 等待一段时间后,取消定时任务
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        // 取消定时任务
        timer.cancel();
        System.out.println("Timer canceled");
    }
}

Dans l'exemple ci-dessus, la méthode run de TimerTask définit une tâche à exécuter régulièrement. Grâce à la méthode de planification de la minuterie, vous pouvez définir l'heure de début, l'intervalle, etc. de la minuterie. Dans cet exemple, la tâche sera exécutée immédiatement après le démarrage du programme, puis toutes les 1 000 millisecondes, et se poursuivra jusqu'à ce que le minuteur soit annulé.

Veuillez noter que la classe Timer est obsolète en Java. Il est recommandé d'utiliser ScheduledExecutorService pour effectuer des tâches planifiées car elle fournit des fonctions de planification plus puissantes et flexibles. Voici un exemple d'utilisation de ScheduledExecutorService :

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class ScheduledExecutorExample {
    public static void main(String[] args) {
        // 创建ScheduledExecutorService对象
        ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
        // 创建定时任务对象
        Runnable task = () -> {
            // 在此处编写定时执行的任务
            System.out.println("Task executed at: " + System.currentTimeMillis());
        };
        // 设置定时器,延迟0毫秒后开始执行任务,每隔1000毫秒执行一次
        scheduler.scheduleAtFixedRate(task, 0, 1000, TimeUnit.MILLISECONDS);
        // 等待一段时间后,关闭定时器
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        // 关闭定时器
        scheduler.shutdown();
        System.out.println("Scheduler shutdown");
    }
}

Cet exemple utilise la méthode planningAtFixedRate de ScheduledExecutorService, dont les paramètres incluent l'objet de tâche, le temps de retard initial, l'intervalle de temps et l'unité de temps. Dans cet exemple, la tâche sera exécutée immédiatement après le démarrage du programme, puis toutes les 1 000 millisecondes, et se poursuivra jusqu'à ce que le minuteur soit désactivé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn