Home Java Example Java Util Scheduling a Timer Task
Questions:Ask|Latest

 
 

Share on Google+Share on Google+

Scheduling a Timer Task

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

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: April 16, 2007

Related Tutorials

Ask Questions?    Discuss: Scheduling a Timer Task   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments
MichaelSmith
August 25, 2011
Regarding Expected output

This CertainAndRepeatTime is not working as expected. pls check it out.
Hailu Beshada
January 9, 2012
any programmer

please I want to get source code for classroom scheduling system in java.
KAMAU NG'ANG'A GAKANGA
January 14, 2012
Problem with Scheduling a Timer Task program

Hi, A've ran the Timer Task program and it is not executing as i expected.I have marked the piece of code which is not executing using ==== in the code below import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Timer; import java.util.TimerTask; public class CertainAndRepeatTime { public static void main(String[] args) throws IOException { int delay = 3000; 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); } }
Someone
June 25, 2012
Doesn't work

Does not work!
maurice
October 2, 2012
none

none moment
DMCA.com