timer定时器

timer在线jdk讲解

timer和quartz都可以实现定时任务。
timer的执行是单线程执行的,quartz执行可以是多线程实现。

首先了解Timer:
timer:有且仅有一个后台线程对多个业务线程进行定时定频率的调度。

timer的构建(timer是通过定时的条用timerTask来实现定时任务的调用):
timer定时器
timer可以理解为某个后台执行的线程,timerTask可以理解为业务线程。

timer的内部构造:
timer定时器
timerTask的运用实例(继承了TimerTask后去实现和堆内的run方法):
timer定时器
执行程序:
timer定时器

Timer的时间调度函数:
schedule的是四种用法。
第一:
timer定时器
意思就是超过timer线程一直处于等待状态。
实例:
timer定时器
main:
timer定时器

第二种:
timer定时器

第三种:
timer定时器
注意的是这里且仅执行一次。

第四种:
timer定时器timer定时器

scheduleAtFixedRate的两种用法。
第一种:
timer定时器
timer定时器
执行:
timer定时器
第二种:
timer定时器
timer定时器
其他重要函数:
TimerTask的cancel(),scheduledExecutionTime()的用法和Timer的cancel()he purge()函数的用法。

首先:cancel()的作用是取消TimerTask里的任务。
实例(答应五次就关闭定时任务的执行):
timer定时器

scheduledExecutionTime():返回此任务最近实际执行的已安排的时间。
实例:
timer定时器
就是返回最近执行的实际时间。

Timer下面的cancel()函数:终止此计时器,丢弃所有当前已安排的任务。

purge:从此计时器的任务队列中移除所有已取消的任务,并返回取消任务对的个数。

schedule与scheduleAtFixedRate的区别:
timer定时器
第一种:
timer定时器
实例:
timer定时器

第二种:
timer定时器实例:
timer定时器
注意:延迟后为了赶上本来的执行次数会在同一时间点多次执行。

第三种:
timer定时器
实例:
timer定时器
timer定时器
实例:
timer定时器

timer的缺陷:
timer定时器
timer定时器

第二种:
timer定时器
timer定时器