定时器
常见的定时器分两大块:
1、Timer 在java.util包中提供的定时器
使用简单方便 但不够灵活
2、quartz 第三方提供的
第三方提供需要下载jar包 理解难度高 但提供的方法较多使用灵活可以满足更多的需求
定时器就像日常生活中使用的闹钟,指定一个时间,按时间周期性执行,所以需要注意的参数有三个:
1、时间点:时间点的设置可以是现在也可以是将来的时间,比如一天后一年后,这里面涉及到的知识点有时间类(Date类、Calendar类、DateFormat类、SimpleDateFormate类)
例如:
// 创建时间对象 calendar
Calendar cal = Calendar.getInstance();
// 设置时间十秒后
cal.add(Calendar.SECOND, 10);
// 得到date对象
Date date = cal.getTime();
2、任务:timer的任务创建涉及内部类,需要重写run方法。
// task接收匿名内部类
TimerTask task = new TimerTask() {
@Override
public void run() {
System.out.println("10秒后见");
}
};
3、周期:周期的设置可以是时、分、秒、年、月、日以及永久。
周期的设置在quartz里面提供了很多个方法,根据需求调用。
注意点
timer定时器的设置`
//1、创建一个定时器对象
Timer timer = new Timer();
//3、定义任务、开始时间
//2、指定定时器要做的任务及开始时间 参数一:任务
参数二:指定第一次执行的时间 参数三:执行周期
timer.schedule(task, firstTime, period);
quartz定时器使用步骤
需要的jar下载地址:quartz下载
1、创建一个SchedulerFactory对象用于生产Scheduler对象 Scheduler
2、创建调度所需要的任务 JobDetail
3、指定开始的时间和执行周期 Trigger
在创建任务的时候会有很多接口及子类对象的调用方法注意返回值以及方法属于哪个子类,关于quartz本人理解有限就不献丑了,感兴趣的可以参考其他大神的博客。
感谢观看,诚邀指证!