跟linux一样,java也提供类似crontable的定时器机制,如Timer,如果只是简单使用比较简单,直接上例子:
public class TimerTest extends TimerTask {
/*@author : zhengrf1
* @date 创建时间:2017年3月9日 下午3:37:47
* @see java.util.TimerTask#run()
*/
@Override
publicvoid run() {
//TODO Auto-generated method stub
System.out.println("定时器 在打印");
}
/**
*
*@author : zhengrf1
*@date 创建时间:2017年3月9日下午3:37:47
*/
publicstatic void main(String[] args) {
//TODO Auto-generated method stub
Timertimer = new Timer();
TimerTesttest = new TimerTest();
Datedate = new Date();
SimpleDateFormatdf = new SimpleDateFormat("yyyyMMDD-HH:mm:ss");
try{
date= df.parse("20170309-16:10:00");
}catch (ParseException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
timer.schedule(test,date,1000);
}
}
输出:
定时器 在打印
定时器 在打印
定时器 在打印
定时器 在打印
定时器 在打印
定时器 在打印
定时器 在打印
-- timer.schedule(test, date,1000);表示在date第一次运行,后续每隔1000毫秒运行一次,另外如果date比当前时间小则在定时器开始启动时直接运行一次,可以在timer中添加多个定时任务