java实现定时任务有这么三种方式:
1、Timer定时器实现
2、springboot中的@Scheduled注解
3、quartz任务调度框架
这三种方式可以说是各有千秋,springboot的@Scheduled注解实现起来很简单,但是他的缺点也很明显,无法灵活的去执行定时任务,quartz的话,正好弥补的了这一缺陷,他可以对多任务进行灵活的调度,但是,在我最近的一次使用中,我走了弯路,本来一个很简单的需求,被我弄得复杂,直接使用了quartz,感觉起来就是高射炮打蚊子——大材小用,所以特此记录,并分享Timer定时器的简单实用。话不多说,直接上代码:
Timer timer = new Timer();//首先创建Temer对象
timer.schedule(new TimerTask() {
@Override
public void run() {//直接匿名内部类实现run方法
//在这个位置就要写你的业务代码了
}
}, 1000,1000);//这个位置有两个参数,第一个参数表示从程序启动开始后多久启动定时任务,第二个参数表示任务的周期,也就是任务多久执行一次。