Timer类中的一种方法是void schedule(TimerTask task,Date firstTime,long period)方法。此方法计划从指定时间开始重复执行固定延迟的任务。
在固定延迟执行中,相对于先前执行的原始执行时间安排每次执行。如果执行由于特定原因而延迟(例如,垃圾回收),则后续执行也将延迟。
声明-java.util.Timer.schedule(TimerTask任务,Date firstTime,长周期)声明如下-public void schedule(TimerTask task, Date firstTime, long period)
在这里,task是要调度的任务,firstTime是第一次执行任务的时间,period是连续任务执行之间的时间(以毫秒为单位)。
schedule(Timertask任务,Date firstTime,long period)方法引发的异常很少。它们如下-我llegalArgumentException如果firstTime.getTime为负或期间<= 0,则抛出此异常
IllegalStateException如果事先计划或取消了任务,取消了计时器或终止了计时器线程,则抛出此异常。
空指针异常如果任务为空,则抛出此异常。
让我们看一个示例,该示例显示如何调度Java中的任务以从指定时间开始重复执行固定延迟的执行-
示例import java.util.*;
class MyTask extends TimerTask {
public void run() {
System.out.println("Task is running");
}
}
public class Example {
public static void main(String[] args) {
Timer timer = new Timer(); // creating timer
TimerTask task = new MyTask(); // creating timer task
timer.scheduleAtFixedRate(task,new Date(),2000);
//在固定的时间在指定的时间安排任务
}
}
输出结果Task is running
Task is running
Task is running
Task is running
Task is running