java定时器Timer的使用
Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。
TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。
先看一个简单的实例:
/** * 每2秒执行一次定时任务,执行10次后取消任务 * @author xiewanzhi * @date 2011-4-27上午09:30:45 * @version 1.0 */public class TestTimer {Timer timer = new Timer();public void executeTask() {//从当前时间开始,以后每两秒执行一次任务timer.schedule(new DefineTimerTask(), new Date(), 2000);}/** * 执行定时任务 */private class DefineTimerTask extends TimerTask {//执行的次数int count = 0;public void run() {//发出嘟嘟声Toolkit.getDefaultToolkit().beep();System.out.println("执行定时任务 " + count);count ++;//执行第10次时取消任务if (count == 10) {timer.cancel();}}}public static void main(String[] args) {new TestTimer().executeTask();}}
?这个例子是每个两秒钟执行一次DefineTimerTask任务,每次都会发出一声嘟的声响。
这个小例子可以说明一些用Timer线程实现和计划执行一个任务的基础步骤:
实现自定义的TimerTask的子类,run方法包含要执行的任务代码,在这个例子里,这个子类就是DefineTimerTask 。
制定执行计划。这里用schedule方法,第一个 参数是执行任务的对象,第二个参数是当前时间,当前执行一次任务,第三个参数是循环执行任务之间的时间间隔2s。
?