Java timer (Timer) est un outil utilisé pour effectuer des tâches à un moment précis. Il peut être utilisé pour effectuer des tâches planifiées, des tâches planifiées, des tâches périodiques, etc. L'implémentation sous-jacente des timers Java est implémentée via la classe Timer, qui offre diverses façons de planifier des tâches planifiées.
La classe Timer est une classe timer de base fournie par Java. Vous pouvez utiliser la classe Timer pour créer des tâches planifiées et planifier l'exécution des tâches. Voici un exemple simple basé sur la classe Timer :
import java.util.Timer; import java.util.TimerTask; public class TimerDemo { public static void main(String[] args) { Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { // 定时任务的逻辑处理 System.out.println("定时任务执行!"); } }, 1000, 2000); // 延迟1秒后开始执行,每2秒执行一次 } }
Dans l'exemple ci-dessus, l'exécution des tâches planifiées est planifiée via la méthode planning de la classe Timer. Vous pouvez spécifier le temps d'exécution différé et l'intervalle d'exécution répétée de la tâche.
Java fournit une méthode de planification de tâches planifiées plus avancée via l'interface ScheduledExecutorService. ScheduledExecutorService peut être compris comme une file d'attente différée qui peut être utilisée pour planifier l'exécution de tâches. Voici un exemple basé sur ScheduledExecutorService :
import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; public class ScheduledExecutorServiceDemo { public static void main(String[] args) { ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { // 定时任务的逻辑处理 System.out.println("定时任务执行!"); } }, 1, 2, TimeUnit.SECONDS); // 延迟1秒后开始执行,每2秒执行一次 } }
Dans l'exemple ci-dessus, l'exécution des tâches planifiées est planifiée via la méthode planningAtFixedRate de ScheduledExecutorService. Vous pouvez spécifier le temps d'exécution différé initial et l'intervalle d'exécution répétée de la tâche.
En plus du minuteur natif de Java, vous pouvez également utiliser la fonction de planification de tâches planifiées fournie par le framework Spring. Les tâches planifiées de Spring marquent l'heure d'exécution et la fréquence de la tâche via l'annotation @Scheduled. Voici un exemple de tâche planifiée basée sur Spring :
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class ScheduledTask { @Scheduled(initialDelay = 1000, fixedDelay = 2000) // 延迟1秒后开始执行,每2秒执行一次 public void runTask() { // 定时任务的逻辑处理 System.out.println("定时任务执行!"); } }
Dans l'exemple ci-dessus, l'heure d'exécution et la fréquence de la tâche planifiée sont marquées en ajoutant l'annotation @Scheduled à la méthode. Vous pouvez spécifier une durée d'exécution différée initiale pour une tâche et un intervalle de temps entre les exécutions.
Ce qui précède présente différentes implémentations de minuteries Java, basées sur la classe Timer, ScheduledExecutorService et les tâches planifiées Spring. Chaque méthode de mise en œuvre possède ses propres scénarios applicables, et les développeurs peuvent choisir la méthode appropriée pour planifier les tâches planifiées en fonction de besoins spécifiques.
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!