logo

Jak ustawić timer w Javie?

Klasa licznika czasu Java

na Jawie, Regulator czasowy jest klasą należącą do Java.util pakiet. Przedłuża Obiekt klasę i implementuje Możliwość serializacji interfejs. Klasa udostępnia konstruktory i metody, których można użyć do wykonywania działań związanych z czasem. Za pomocą klasy Timer możemy zaplanować zadanie, które chcemy wykonać w określonym czasie.

Należy pamiętać, że klasa Timer jest klasą bezpieczną dla wątków. Oznacza to, że tylko wątek może wykonać metodę klasy timera. Warto zauważyć, że klasa wykorzystuje strukturę danych sterty binarnej do przechowywania swoich zadań.

Programy Java z zegarem

Planowanie zadania do wykonania przez wątek Timera

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

Wyjście:

obiekt do jsona w Javie
 5 4 3 2 1 Wish You Very Happy Birthday!! 

Zobaczmy inny program Java, w którym wykonaliśmy zadanie po określonym przedziale czasu.

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

Wyjście:

 You have a notification! 

Program potrzebuje 10 sekund na wyświetlenie komunikatu na konsoli.

Uruchamianie i zatrzymywanie stopera

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

Wyjście:

Jak ustawić timer w Javie

W podobny sposób możemy również utworzyć licznik czasu, korzystając z klasy Timer.