logo

Come impostare il timer in Java?

Classe timer Java

A Giava, Timer è una classe che appartiene a java.util pacchetto. Estende il Oggetto classe e implementa il file Serializzabile interfaccia. La classe fornisce i costruttori e i metodi che possono essere utilizzati per eseguire attività legate al tempo. Usando la classe Timer, possiamo programmare l'attività che vogliamo eseguire in un momento particolare.

Tieni presente che la classe Timer è una classe thread-safe. Ciò significa che solo un thread può eseguire il metodo della classe timer. Un altro punto da notare è che la classe utilizza la struttura dati heap binaria per memorizzare la propria attività.

Programmi Java con timer

Pianificazione di un'attività da eseguire tramite thread timer

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); } } 

Produzione:

metodo sottostringa in Java
 5 4 3 2 1 Wish You Very Happy Birthday!! 

Vediamo un altro programma Java in cui abbiamo eseguito un'attività dopo un determinato intervallo di tempo.

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); } } 

Produzione:

 You have a notification! 

Il programma impiega 10 secondi per visualizzare il messaggio sulla console.

Avvia e ferma un timer

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(); } } 

Produzione:

Come impostare il timer in Java

Allo stesso modo, possiamo anche creare un timer per il conto alla rovescia utilizzando la classe Timer.