Maison  >  Article  >  Java  >  Comment pouvons-nous implémenter un thread de minuterie en Java ?

Comment pouvons-nous implémenter un thread de minuterie en Java ?

WBOY
WBOYavant
2023-08-30 14:49:041006parcourir

La classe

Comment pouvons-nous implémenter un thread de minuterie en Java ?

Timer planifie les tâches à exécuter une ou plusieurs fois à un moment donné. Il peut également s’exécuter en arrière-plan en tant que thread démon. Pour associer un Timer à un thread démon, utilisez un constructeur avec une valeur Boolean. Les minuteries planifient les tâches avec un délai fixe et un taux fixe. Sous délai fixe, si une exécution est retardée par le système GC, les autres exécutions sont également retardées, et chaque exécution est retardée correspondant à l'exécution précédente. À taux fixe, si une exécution est retardée par System GC, 2 à 3 exécutions se produisent successivement pour couvrir le taux fixe correspondant à l'heure de début de la première exécution. La classe Timer fournit la méthode cancel() pour annuler le minuteur. Lorsque cette méthode est appelée, le timer expire. La classe Timer effectue uniquement des tâches qui implémentent TimerTask.

Exemple

import java.util.*;
public class TimerThreadTest {
   public static void main(String []args) {
      Task t1 = new Task("Task 1");
      Task t2 = new Task("Task 2");
      Timer t = new Timer();
      t.schedule(t1, 10000); <strong>//  executes for every 10 seconds</strong>
      t.schedule(t2, 1000, 2000); <strong>// executes for every 2 seconds</strong>
   }
}
class Task extends TimerTask {
   private String name;
   public Task(String name) {
       this.name = name;
   }
   public void run() {
      System.out.println("[" + new Date() + "] " + name + ": task executed!");
   }
}

Sortie

[Thu Aug 01 21:32:44 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:46 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:48 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:50 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:52 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:53 IST 2019] Task 1: task executed!
[Thu Aug 01 21:32:54 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:56 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:58 IST 2019] Task 2: task executed!
[Thu Aug 01 21:33:00 IST 2019] Task 2: task executed!

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer