java.util.Timer.schedule() Method



The schedule(TimerTask task,Date firstTime,long period) method is used to schedule the specified task for repeated fixed-delay execution, beginning at the specified time.


Following is the declaration for java.util.Timer.schedule() method.

public void schedule(TimerTask task,Date firstTime,long period)


  • task -- This is the task to be scheduled.

  • firstTime -- This is the first time at which task is to be executed.

  • period -- This is the time in milliseconds between successive task executions.

Return Value

  • NA


  • IllegalArgumentException -- This exception is thrown if time.getTime() is negative.

  • IllegalStateException -- This is thrown if task was already scheduled or cancelled, timer was cancelled, or timer thread terminated.


The following example shows the usage of java.util.Timer.schedule()

package com.tutorialspoint;

import java.util.*;

public class TimerDemo {
   public static void main(String[] args) {
   // creating timer task, timer
   TimerTask tasknew = new TimerCancel();
   Timer timer = new Timer();
   // scheduling the task at interval
   timer.schedule(tasknew, new Date(),1000);      
   // this method performs the task
   public void run() {
   System.out.println("working on");      

Let us compile and run the above program, this will produce the following result.

working on
working on
working on
working on
working on
working on and so on ...