一、原理介绍
1、JDK中,定时器任务的执行需要两个基本的类:
java.util.Timer;
java.util.TimerTask;
2、要编写一个定时任务的步骤如下:
(1) 建立一个要定时执行的任务TimerTask。
(2) 创建一个Timer实例,通过Timer提供的schedule()方法,将 TimerTask加入到定时器Timer中,同时设
置执行的规则即可。
3、schedule()方法介绍:
Timer中的schedule()方法是有多种重载格式的,以适应不同的情况。该方法的格式如下:
(1) void schedule(TimerTask task, Date time) //安排在指定的时间执行指定的任务。
(2) void schedule(TimerTask task, Date firstTime, long period) // 安排指定的任务在指定的时间
开始进行重复的固定延迟执行。
(3) void schedule(TimerTask task, long delay) //安排在指定延迟后执行指定的任务。
(4)void schedule(TimerTask task, long delay, long period) //安排指定的任务从指定的延迟后开始
进行重复的固定延迟执行。
二、例子
下面用Timer实现一个简单例子:
1、要重复执行的任务:
package stu.timer;
import java.util.Date;
import java.util.TimerTask;
/**
* 重复执行的任务
*
* @author leizhimin,2008-10-9 9:20:20
*/
public class TestTimerTask extends TimerTask {
/**
* 此计时器要执行的任务操作。
*/
public void run() {
Date executeTime = new Date(this.scheduledExecutionTime());
System.out.PRintln("本次任务执行的时间是" + executeTime);
}
}
2、定时器
package stu.timer;
import java.util.Timer;
import java.util.TimerTask;
public class TestTimer {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TestTimerTask();
timer.schedule(task, 500, 1000);//过0.5秒开始执行,第隔1秒执行一次。
}
}
1、JDK中,定时器任务的执行需要两个基本的类:
java.util.Timer;
java.util.TimerTask;
2、要编写一个定时任务的步骤如下:
(1) 建立一个要定时执行的任务TimerTask。
(2) 创建一个Timer实例,通过Timer提供的schedule()方法,将 TimerTask加入到定时器Timer中,同时设
置执行的规则即可。
3、schedule()方法介绍:
Timer中的schedule()方法是有多种重载格式的,以适应不同的情况。该方法的格式如下:
(1) void schedule(TimerTask task, Date time) //安排在指定的时间执行指定的任务。
(2) void schedule(TimerTask task, Date firstTime, long period) // 安排指定的任务在指定的时间
开始进行重复的固定延迟执行。
(3) void schedule(TimerTask task, long delay) //安排在指定延迟后执行指定的任务。
(4)void schedule(TimerTask task, long delay, long period) //安排指定的任务从指定的延迟后开始
进行重复的固定延迟执行。
二、例子
下面用Timer实现一个简单例子:
1、要重复执行的任务:
package stu.timer;
import java.util.Date;
import java.util.TimerTask;
/**
* 重复执行的任务
*
* @author leizhimin,2008-10-9 9:20:20
*/
public class TestTimerTask extends TimerTask {
/**
* 此计时器要执行的任务操作。
*/
public void run() {
Date executeTime = new Date(this.scheduledExecutionTime());
System.out.PRintln("本次任务执行的时间是" + executeTime);
}
}
2、定时器
package stu.timer;
import java.util.Timer;
import java.util.TimerTask;
public class TestTimer {
public static void main(String[] args) {
Timer timer = new Timer();
TimerTask task = new TestTimerTask();
timer.schedule(task, 500, 1000);//过0.5秒开始执行,第隔1秒执行一次。
}
}