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 协议 ,转载请注明出处!