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



  • 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 ...