logo

Hvordan indstilles timeren i Java?

Java timer klasse

I Java, Timer er en klasse, der tilhører java.util pakke. Det udvider Objekt klasse og implementerer Serialiserbar interface. Klassen giver de konstruktører og metoder, der kan bruges til at udføre tidsrelaterede aktiviteter. Ved at bruge Timer-klassen kan vi planlægge den opgave, som vi ønsker at udføre på et bestemt tidspunkt.

Bemærk, at Timer-klassen er en trådsikker klasse. Det betyder, at kun en tråd kan udføre timer-klassemetoden. Et andet punkt at bemærke, at klassen bruger binær heap-datastruktur til at gemme sin opgave.

Timer Java-programmer

Planlægning af en opgave, der skal udføres af timertråd

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

Produktion:

hvordan man bestemmer skærmstørrelsen
 5 4 3 2 1 Wish You Very Happy Birthday!! 

Lad os se et andet Java-program, hvor vi har udført en opgave efter et bestemt tidsinterval.

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

Produktion:

 You have a notification! 

Programmet tager 10 sekunder at vise meddelelsen på konsollen.

Start og stop en 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(); } } 

Produktion:

Sådan indstilles timer i Java

På samme måde kan vi også oprette en nedtællingstimer ved hjælp af Timer-klassen.