当你需要启用一个定时器任务,无需复杂的操作,只需要一个JDK自带的Timer即可解决。
1.介绍
在JDK中,我们需要两个类来执行定时器任务:Timer和TimerTask
Timer定时器是线程安全的,这个类可以扩展到大量同时安排的任务,可以进行一个任务单次或多次的定时启动。
TimerTask是一个抽象类,继承了TimerTask的子类可以作为Timer的计划任务。
2.使用方法
我们需要创建一个继承了TimerTask的子类,使用方法和线程类似,也是必须重写run()方法。类似的,也可以跟Thread一样不创建TimerTask的子类,使用TimerTask的匿名内部类,这里就不做详解了。同时TimerTask也有两个非抽象的方法cancel()和scheduleExecutionTime(),分别用于取消计时任务和返回此任务最近实际执行的已安排执行时间。
然后,创建Timer对象,使用Timer的schedule方法来作定时调用。schedule方法有多种重载:
schedule(TimerTask task, Date time)
安排在指定的时间执行指定的任务。
schedule(TimerTask task, Date firstTime, long period)
安排指定的任务在指定的时间开始进行重复的固定延迟执行。
schedule(TimerTask task,