Scheduling a Timer Task

In this section, you can learn how to schedule a timer task to run at a certain time and repeatedly.

Scheduling a Timer Task

In this section, you can learn how to schedule a timer task to run at a certain time and repeatedly.

Scheduling a Timer Task

Scheduling a Timer Task

     

In this section, you can learn how to schedule a timer task to run at a certain time and repeatedly. There is an example given for the illustration. This program asks you for the way of performing the task whether at the certain time or repeatedly. If you enter the "c" then the program will perform the timer task at a certain time means the task will work only once while you enter the "r" then the program performs the timer task repeatedly until you terminate the program.

Code Description:

This program has used the following method for the appropriate:

Timer.schedule():
Above method of Timer class sets the schedule for the specific task. In this program, this method has been used two times. First time two parameters have passed through the method as follows:

  • Task which has to be performed.
  • Time for the first time perform the task.

Second time three parameters have passed to the method which are explained as follows in which explanation of of the first two arguments are given above and the third is as:

  • Time period in which the task has to be repeated.

Here is the code of the program:

import java.util.*;
import java.io.*;

public class CertainAndRepeatTime{
  public static void main(String[] argsthrows IOException{
  int delay = 1000;
  Timer timer = new Timer();
  System.out.println("What do you want (Certain time or Repeat time)?");
  System.out.print("Please enter \'C\' or \'R\' for that: ");
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  String ans = in.readLine();
  if (ans.equals("C"|| ans.equals("c")){
  timer.schedule(new TimerTask(){
  public void run(){
  System.out.println("This line is printed only once.");
  }
  },delay);
  }
  else if(ans.equals("r"|| ans.equals("R")){
  timer.schedule(new TimerTask(){
  public void run(){
  System.out.println("This line is printed repeatedly.");
  }
  },delay, 1000);
  }
  else{
  System.out.println("Invalid Entry.");
  System.exit(0);
  }
  System.exit(0);
  }
}

Download this example.