Java.util.TimerTask class in Java - GeeksforGeeks

22 Apr, 2022
TimerTask is an abstract class defined in java.util package. TimerTask class defines a task that can be scheduled to run for just once or for repeated number of time. In order to define a TimerTask object, this class needs to be implemented and the run method need to be overridden. The run method is implicitly invoked when a timer object schdedules it to do so. Note: An instance of TimerTask class is used to define a task the needs to run periodically. Constructors:
TimerTask(): Creates a new timer task
Declaration:
public abstract class TimerTask
        extends Object
        implements Runnable
Methods:
cancel(): java.util.TimerTask.cancel() Cancels this timer task Syntax:
cancel(): java.util.TimerTask.cancel() Cancels this timer task Syntax:
public boolean cancel()
Returns:
true if this task is scheduled for one-time execution and
has not yet run, or this task is scheduled for repeated execution. 
Returns false if the task was scheduled for one-time 
execution and has already run, or if the task was never scheduled, 
or if the task was already cancelled.
run(): java.util.TimerTask.run() The action to be performed by this timer task Syntax:
run(): java.util.TimerTask.run() The action to be performed by this timer task Syntax:
public abstract void run()
Description:
The action to be performed by this timer task
scheduledExecutionTime(): java.util.TimerTask.scheduledExecutionTime() Returns the scheduled execution time of the most recent actual execution of this task Syntax:
scheduledExecutionTime(): java.util.TimerTask.scheduledExecutionTime() Returns the scheduled execution time of the most recent actual execution of this task Syntax:
public long scheduledExecutionTime()
Returns: 
the time at which the most recent execution of this task was 
scheduled to occur, in the format returned by Date.getTime(). 
The return value is undefined if the task has yet to 
commence its first execution
Methods inherited from class java.lang.Object
clone
equals
finalize
getClass
hashCode
notify
notifyAll
toString
wait
Java program to demonstrate usage of TimerTask class
Java
// Java program to demonstrate// working of TimerTask classimport java.util.Timer;import java.util.TimerTask; class Helper extends TimerTask{    public static int i = 0;    public void run()    {        System.out.println("Timer ran" + ++i);        if(i == 4)        {            synchronized(Test.obj)            {                Test.obj.notify();            }        }    }     }  public class Test{    public static Test obj;    public static void main(String[] args) throws InterruptedException    {        obj = new Test();                 // creating an instance of timer class        Timer timer = new Timer();                 // creating an instance of task to be scheduled        TimerTask task = new Helper();                 // scheduling the timer instance        timer.schedule(task, 1000, 3000);                 // fetching the scheduled execution time of        // the most recent actual execution of the task        System.out.println(task.scheduledExecutionTime());                 synchronized(obj)        {            //this thread waits until i reaches 4            obj.wait();        }                 //canceling the task assigned        System.out.println("Cancel the timer task: " + task.cancel());                 // at this point timer is still running        // without any task assigned to it             // canceling the timer instance created        timer.cancel();    }}
Output:
1495715853591
Timer ran 1
Timer ran 2
Timer ran 3
Timer ran 4
Cancel the timer task: true
Reference:
Oracle
This article is contributed by Mayank Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Java - util package
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
How to iterate any Map in Java
Initialize an ArrayList in Java
Interfaces in Java
ArrayList in Java
Multidimensional Arrays in Java
Stack Class in Java
Singleton Class in Java
LinkedList in Java