如果要执行一些简单的定时器任务,无须做复杂的控制,也无须保存状态,那么可以考虑使用JDK 入门级的定期器Timer来执行重复任务。
一、原理
JDK中,定时器任务的执行需要两个基本的类:
java.util.Timer; //定时器
java.util.TimerTask; //要执行的任务
要运行一个定时任务,最基本的步骤如下:
1、建立一个要执行的任务TimerTask。
2、创建一个Timer实例,通过Timer提供的schedule()方法,将 TimerTask加入到定时器Timer中,同时设置执行的规则即可。
Timer中的schedule()方法是有多种重载格式的,以适应不同的情况。该方法的格式如下:
void schedule(TimerTask task, Date time)
安排在指定的时间执行指定的任务。
void schedule(TimerTask task, Date firstTime, long period)
安排指定的任务在指定的时间开始进行重复的固定延迟执行。
void schedule(TimerTask task, long delay)
安排在指定延迟后执行指定的任务。
void schedule(TimerTask task, long delay, long period)
安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
具体看 http://peizhiinfo.iteye.com/blog/1277555
package com.jin.thread;
import java.util.Timer;
import java.util.TimerTask;
public class Test2
{
public static void main(String[] args)
{
Timer timer = new Timer();
TimerTask myTask = new MyTimerTask();
timer.schedule(myTask, 500l, 3000l); //半秒后开始执行定时任务,每3秒执行一次
}
}
class MyTimerTask extends TimerTask {
@Override
public void run()
{
// TODO Auto-generated method stub
System.out.println("这是一项每隔一段时间就执行一次的定时任务...");
}
}