logo

Ako nastaviť časovač v jazyku Java?

Trieda Java Timer

v Jave Časovač je trieda, ktorá patrí do java.util balík. Rozširuje to Objekt triedy a realizuje Serializovateľné rozhranie. Trieda poskytuje konštruktory a metódy, ktoré možno použiť na vykonávanie činností súvisiacich s časom. Pomocou triedy Timer môžeme naplánovať úlohu, ktorú chceme vykonať v konkrétnom čase.

Všimnite si, že trieda Timer je trieda bezpečná pre vlákna. Znamená to, že iba vlákno môže vykonávať metódu triedy časovača. Ďalším bodom, ktorý treba poznamenať, že trieda používa na uloženie svojej úlohy binárnu dátovú štruktúru haldy.

Programy Java s časovačom

Plánovanie vykonania úlohy pomocou vlákna časovača

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

Výkon:

pripojenie k databáze v jazyku Java
 5 4 3 2 1 Wish You Very Happy Birthday!! 

Pozrime sa na ďalší Java program, v ktorom sme po určitom časovom intervale vykonali úlohu.

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

Výkon:

 You have a notification! 

Programu trvá 10 sekúnd, kým zobrazí správu na konzole.

Spustenie a zastavenie časovača

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

Výkon:

Ako nastaviť časovač v Jave

Podobne môžeme pomocou triedy Timer vytvoriť aj časovač.