package com.skex.test;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class JDKTimer {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//演示JDK中定时器的用法
Timer timer = new Timer();
System.out.println("10秒钟后执行定时器一...");
timer.schedule(new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("定时器一执行完毕.");
}
}, 10*1000);
System.out.println("定时执行定时器二...");
timer.schedule(new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("定时器二执行完毕.");
}
}, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2017-07-11 16:19:00"));
//周期性执行
timer.schedule(new TimerTask(){
int i=0;
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("每隔1秒钟执行定时器。 第 " + (++i) + "次执行. ");
if(i>20) this.cancel();//执行20次后,终止该任务
}
}, new Date(),1000);
}
}
/*
10秒钟后执行定时器一...
定时执行定时器二...
定时器二执行完毕.
每隔1秒钟执行定时器。 第 1次执行.
每隔1秒钟执行定时器。 第 2次执行.
每隔1秒钟执行定时器。 第 3次执行.
每隔1秒钟执行定时器。 第 4次执行.
每隔1秒钟执行定时器。 第 5次执行.
每隔1秒钟执行定时器。 第 6次执行.
每隔1秒钟执行定时器。 第 7次执行.
每隔1秒钟执行定时器。 第 8次执行.
每隔1秒钟执行定时器。 第 9次执行.
每隔1秒钟执行定时器。 第 10次执行.
定时器一执行完毕.
每隔1秒钟执行定时器。 第 11次执行.
每隔1秒钟执行定时器。 第 12次执行.
每隔1秒钟执行定时器。 第 13次执行.
每隔1秒钟执行定时器。 第 14次执行.
每隔1秒钟执行定时器。 第 15次执行.
每隔1秒钟执行定时器。 第 16次执行.
每隔1秒钟执行定时器。 第 17次执行.
每隔1秒钟执行定时器。 第 18次执行.
每隔1秒钟执行定时器。 第 19次执行.
每隔1秒钟执行定时器。 第 20次执行.
每隔1秒钟执行定时器。 第 21次执行.
*/