今天主要学习了 Calendar ,Date,Timer 和 TimerTask类的应用.下面写几个小例子,来练习下.
例一:定时器.
public static void main(String[] args) {
Timer t = new Timer();
t.schedule(new TimerTask() {
int i =0 ;
public void run() {
i++;
Calendar cl = Calendar.getInstance();
String str = cl.get(cl.YEAR) + "-" + (cl.get(cl.MONTH) + 1) + "-" + cl.get(cl.DAY_OF_MONTH) + " "
+ cl.get(cl.HOUR_OF_DAY) + ":" + cl.get(cl.MINUTE) + ":" + cl.get(cl.SECOND);
System.out.println("第"+i+"次执行. " + str);
}
}, 1000, 5000);
}
t.schedule(Timertask类,时间1,时间2)的意思是:
时间1 = 第一次开始隔的时间,
时间2 = 每隔多少时间执行TimerTask类中的run方法
这个程序会一直执行下去.
例二:延迟打开
public static void main(String[] args) {
Timer t = new Timer();
t.schedule(new MyTimerTask(t),1000);
}
static class MyTimerTask extends TimerTask{
private Timer t ;
public MyTimerTask(Timer t) {
this.t = t;
}
public void run() {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
String newDate = sdf.format(d);
System.out.println("这个程序只执行一次,就退出. "+newDate);
t.cancel();
}
}
这个程序就是延迟加载,并却最后调用Timer.canecl的方法,把程序结束掉.
Java定时任务实践
本文介绍了如何使用Java中的Timer和TimerTask实现定时任务的功能。通过两个示例,一个是无限循环的定时器,另一个是延迟执行一次后停止的任务,展示了具体的应用场景。
469

被折叠的 条评论
为什么被折叠?



