1. 建立timer
import java.util.Timer;
import java.util.TimerTask; public class Start
{
public class Start
{
private static final int RT_TIME_INTERVAL = 30*1000; //30s
public static void main(String[] args)
{
TimerTask task = new MyTask();
Timer timer = new Timer ();
timer.schedule(task,0,RT_TIME_INTERVAL);
/*timer.scheduleAtFixedRate(arg0, arg1, arg2);*/
}
}
}
2.建立task,实现run方法
import java.util.List;
import java.util.TimerTask; public class MyTask extends TimerTask {
@Override
public void run()
{
System.out.println("My task begins");
System.out.println(new Date());
}
}
关于task执行时间的几点说明:
1.假设task每5s执行一次,任务执行了3s,下一次任务会在2s后执行。
2.如果任务执行了8s。会在此任务结束后立刻开始下一次任务。不会在同一时刻同时执行2个任务。
3.scheduleAtFixedRate情况稍微复杂,假如第一次任务执行8s,第二次执行了2s,第三次也不会等(5-2)s,会立即执行,会去凑5,10,15那个时刻点