Java.util.Timer 类

java.util.Timer.schedule()方法用于安排指定任务重复固定延迟执行,在指定的延迟后开始。随后的执行大约以指定时间间隔的固定间隔进行。

语法

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

参数

task 指定要调度的任务。
delay 指定延迟(以毫秒为单位)执行任务之前的时间。
period 指定连续任务执行之间的时间(以毫秒为单位)。

返回值

void类型。

异常

  • 抛出IllegalArgumentException ,如果延迟 < 0,或延迟 + System.currentTimeMillis() < 0,或 period <= 0。
  • 抛出 IllegalStateException,如果任务已计划或已取消、计时器被取消或计时器线程终止。
  • 如果任务为 null,则抛出 NullPointerException

示例:

在下面的示例中,java.util.Timer.schedule() 方法用于安排给定任务执行重复的固定延迟执行,从指定延迟。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建定时器
    Timer timer = new Timer();

    //创建一个定时器任务
    TimerTask tt = new TimerTask() {
      public void run() {
        System.out.println("Working on the task.");
      };
    };
    
    //安排任务在某个时间执行
    //延迟1000毫秒然后执行
    //延迟500毫秒重复
    timer.schedule(tt, 1000, 500);
  }
}

上述代码的输出将是:

Working on the task.
Working on the task.
Working on the task.
Working on the task. 
and so on ...