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

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