java.util.Timer.schedule() Method



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


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

public void schedule(TimerTask task,long delay,long period)


  • task − This is the task to be scheduled.

  • delay − This is the delay in milliseconds before 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 TimerSchedulePeriod();
      Timer timer = new Timer();

      // scheduling the task at interval
      timer.schedule(tasknew,100, 100);      
   // this method performs the task
   public void run() {
      System.out.println("timer working");      

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

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