Points To Remember
- TimerTask is a class that can run a Thread repeatedly after a specific period.
- You can either implement your own class also by implementing Runnable Interface.
- Then you may need to put your thread to sleep and then resume the thread after a desired interval.
How to schedule a Thread to run after fixed interval
We will be using TimerTask to schedule the Thread after every 1 sec.TimerTask class in Java implements Runnable interface and has the following methods.
- cancel - to cancel the timer task when needed.
- scheduledExecutionTime - gives the time when the task was last executed successfully.
- run - an abstract method that needs to be implemented.
MyTask.java
import java.util.TimerTask;
import java.util.Date;
class MyTask extends TimerTask {
static int count = 0;
@Override
public void run(){
if(count < 5){
System.out.println(" MyTask called ### count = "+ (++count));
}
else {
cancel();
System.out.println("######### TASK CANCELLED #######");
}
}
}
TestTimerTask.java
import java.util.TimerTask;
import java.util.Timer;
class TestTimerTask {
public static void main(String args[]){
TimerTask task = new MyTask();
Timer timer = new Timer();
timer.scheduleAtFixedRate(task,0,1000);
}
}
MyTask called ### count = 1
MyTask called ### count = 2
MyTask called ### count = 3
MyTask called ### count = 4
MyTask called ### count = 5
######### TASK CANCELLED #######
MyTask called ### count = 2
MyTask called ### count = 3
MyTask called ### count = 4
MyTask called ### count = 5
######### TASK CANCELLED #######
So Thread goes on executing till it is stopped manually or till cancel() is called on the task.
Comments
Post a Comment