Java 任务定时处理
本文最后更新于:2024年3月18日 凌晨
Java 任务定时处理
- 实际应用中有时需要安排某个任务以一定周期间隔反复执行,为此JDK提供了
java.util.Timer
类,java.util.Timer
也叫定时器,实际上是个线程,可定时调度执行TimerTask
类型任务的对象,TimerTask
是一个抽象类,实际任务对象是其子类对象,TimerTask
的子类的run()
方法用来安排任务的具体执行逻辑,任务每次被调度执行时将执行run()
方法。 - 通过
Timer
类的schedule()
方法安排任务的执行时间,以下为schedule()
方法的几种形态,其中,参数task
代表任务对象,time代
表启动时间,delay
代表延时,period
代表间隔时间。schedule(TimerTask task, long delay)
:从现在起超过delay毫秒执行任务一次。schedule(TimerTask task, Date time)
:在指定时间执行任务一次。scheduleAtFixedRate(TimerTask task, long delay, long period)
:从现在起超过delay毫秒以后,每隔period毫秒执行任务一次。schedule(TimerTask task, Date time, long period)
:从time时刻开始,每隔period毫秒执行任务一次。
[例12-4]:统计输出任务调度执行次数,每次执行发出提示音。
1 |
|
- 运行程序不难发现,执行次数的统计输出结果每间隔2秒累增一次,也就是每次调度执行的是同一个任务对象的
run()
方法。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!