Java Timer scheduleAtFixedRate() Method



Description

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

Declaration

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

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

Parameters

  • 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

Exception

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

Java Timer scheduleAtFixedRate(TimerTask task,long delay,long period) Method

Description

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

Declaration

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

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

Parameters

  • 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

Exception

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

Scheduling A Timer with Date and Fix Delay Example

The following example shows the usage of Java Timer scheduleAtFixedRate(TimerTask, Date, Long) method to schedule repeated timer operation at fix rate with given date and for a fix delay. We've created a timer object using a CustomTimerTask object. CustomTimerTask is custom class extending TimerTask class and implements the run() method which will execute at scheduled time. Then we created a timer object and scheduled a task using scheduleAtFixedRate() to execute task with a given delay.

package com.tutorialspoint;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo {
   public static void main(String[] args) {

      // creating timer task, timer
      TimerTask tasknew = new CustomTimerTask();
      Timer timer = new Timer();

      // scheduling the task
      timer.scheduleAtFixedRate(tasknew, new Date(), 1000); 

      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         System.out.println("Error");
      }
   }
}

class CustomTimerTask extends TimerTask {

   @Override
   public void run() {
      System.out.println("working on");
   }  
}

Output

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

working on
working on

Scheduling A Timer for a Fixed Rate with Given Delay and a Delay Period Example

The following example shows the usage of Java Timer scheduleAtFixedRate(TimerTask, Long, Long) method to schedule a timer operation at fix rate with given initial delayed period and for a fix delay. We've created a timer object using a CustomTimerTask object. CustomTimerTask is custom class extending TimerTask class and implements the run() method which will execute at scheduled time. Then we created a timer object and scheduled a task using scheduleAtFixedRate() to execute task with a given delay.

package com.tutorialspoint;

import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo {
   public static void main(String[] args) {

      // creating timer task, timer
      TimerTask tasknew = new CustomTimerTask();
      Timer timer = new Timer();

      // scheduling the task
      timer.scheduleAtFixedRate(tasknew, 100, 500); 

      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         System.out.println("Error");
      }
   }
}

class CustomTimerTask extends TimerTask {

   @Override
   public void run() {
      System.out.println("working on");
   }  
}

Output

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

working on
working on

Scheduling A Timer with Date and Fix Delay and an Initial Delay Example

The following example shows the usage of Java Timer scheduleAtFixedRate(TimerTask, Long, Long) method to schedule a timer operation at fix rate with given initial delayed period and for a fix delay. We've created a timer object using a CustomTimerTask object. CustomTimerTask is custom class extending TimerTask class and implements the run() method which will execute at scheduled time. Then we created a timer object as a daemon thread and scheduled a task using scheduleAtFixedRate() to execute task with a given delay.

package com.tutorialspoint;

import java.util.Timer;
import java.util.TimerTask;

public class TimerDemo {
   public static void main(String[] args) {

      // creating timer task, timer
      TimerTask tasknew = new CustomTimerTask();
      Timer timer = new Timer(true);

      // scheduling the task
      timer.scheduleAtFixedRate(tasknew, 100, 500);

      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         System.out.println("Error");
      }
   }
}

class CustomTimerTask extends TimerTask {

   @Override
   public void run() {
      System.out.println("working on");
   }  
}

Output

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

working on
working on
java_util_timer.htm
Advertisements