logo

Comment définir la minuterie en Java ?

Classe de minuterie Java

En Java, Minuteur est une classe qui appartient au java.util emballer. Il prolonge le Objet classe et implémente la Sérialisable interface. La classe fournit les constructeurs et les méthodes qui peuvent être utilisées pour effectuer des activités liées au temps. Grâce à la classe Timer, nous pouvons planifier la tâche que nous souhaitons exécuter à un moment précis.

Notez que la classe Timer est une classe thread-safe. Cela signifie que seul un thread peut exécuter la méthode de la classe timer. Un autre point à noter est que la classe utilise une structure de données binaire pour stocker sa tâche.

Programmes Java de minuterie

Planification d'une tâche à exécuter par Timer Thread

ScheduleTimer.java

 import java.util.Calendar; import java.util.Timer; import java.util.TimerTask; public class ScheduleTimer { public static void main(String args[]) { //instance of the Timer class Timer timer = new Timer(); TimerTask task = new TimerTask() { //represent the time after which the task will begin to execute int i = 5; @Override public void run() { if(i>0) { System.out.println(i); i--; } else { System.out.println('Wish You Very Happy Birthday!!'); //cancel the task once it is completed timer.cancel(); } } }; //creating an instance of the Calendar class Calendar date = Calendar.getInstance(); //setting the date and time on which timer will begin date.set(2022, Calendar.MARCH, 30,23, 59, 54); //enables the counter to count at a rate of 1 second timer.scheduleAtFixedRate(task, date.getTime(), 1000); } } 

Sortir:

type de en java
 5 4 3 2 1 Wish You Very Happy Birthday!! 

Voyons un autre programme Java dans lequel nous avons exécuté une tâche après un intervalle de temps spécifique.

TimerDemo.java

 import java.util.Timer; import java.util.TimerTask; public class TimerDemo { Timer timer = new Timer(); TimerDemo(int seconds) { //schedule the task timer.schedule(new RemindTask(), seconds*1000); } class RemindTask extends TimerTask { public void run() { System.out.println('You have a notification!'); //terminate the timer thread timer.cancel(); } } //driver code public static void main(String args[]) { //function calling new TimerDemo(10); } } 

Sortir:

 You have a notification! 

Le programme prend 10 secondes pour afficher un message sur la console.

Démarrer et arrêter une minuterie

StartStopTimer.java

 import java.util.Timer; import java.util.TimerTask; class Task extends TimerTask { int counter; public Task() { counter = 0; } public void run() { counter++; System.out.println('Ring ' + counter); } public int getCount() { return counter; } } public class StartStopTimer { private boolean running; private Task task; private Timer timer; public StartStopTimer() { timer = new Timer(true); } public boolean isRinging() { return running; } public void startRinging() { running = true; task = new Task(); timer.scheduleAtFixedRate(task, 0, 3000); } public void doIt() { running = false; System.out.println(task.getCount() + ' times'); task.cancel(); } public static void main(String args[]) { StartStopTimer phone = new StartStopTimer(); phone.startRinging(); try { System.out.println('started running...'); Thread.sleep(20000); } catch (InterruptedException e) { } phone.doIt(); } } 

Sortir:

Comment définir la minuterie en Java

De même, nous pouvons également créer un compte à rebours en utilisant la classe Timer.