java.util.Timer.scheduleAtFixedRate() 方法用于安排指定任务重复固定速率执行,在指定的延迟后开始。随后的执行大约以固定的时间间隔进行,并以指定的周期分隔。
语法
public void scheduleAtFixedRate(TimerTask task,
long delay,
long period)
参数
task | 指定要调度的任务。 |
delay | 指定延迟执行任务之前的毫秒数。 |
period | 指定连续任务执行之间的时间(以毫秒为单位)。 |
返回值
void类型。
异常
- 抛出 IllegalArgumentException,如果延迟 < 0,或延迟 + System.currentTimeMillis() < 0,或周期 <= 0。
- 抛出 IllegalStateException,如果任务已安排或已取消、计时器被取消或计时器线程终止。
- 如果任务为 null,则抛出 NullPointerException。
示例:
在下面的示例中,java.util.Timer.scheduleAtFixedRate() 方法用于安排给定任务重复固定速率执行,在指定的时间之后开始
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.");
};
};
//安排任务在a之后执行
//延迟1000毫秒然后执行
//以500毫秒为周期重复
timer.scheduleAtFixedRate(tt, 1000, 500);
}
}
上述代码的输出将是:
Working on the task.
Working on the task.
Working on the task.
Working on the task.
and so on ...