本文对Java定时任务调度工具进行解析。
什么是定时任务调度
基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务
java.util.Timer和Quartz的区别
出生不同
能力区别
底层机制
java.util.Timer的简介
有且仅有一个后台线程对多个业务线程进行定时定频率的调度
具体如下:
java.util.Timer的例子
java.util.Timer API简介——public void schedule(TimerTask task, Date time)
public void schedule(TimerTask task, Date time) 在时间等于或超过time的时候执行且仅执行一次task。如果设置的时间time小于当前时间,则会直接执行。
java.util.Timer API简介——schedule(TimerTask task, Date firstTime,long period)
schedule(TimerTask task, Date firstTime,long period):period执行一次task的时间间隔,单位是毫秒。
时间等于或超过firstTime时首次执行task
之后每隔period毫秒重复执行一次task。
java.util.Timer API简介——public void schedule(TimerTask task,long delay)
public void schedule(TimerTask task,long delay):等待delay毫秒后执行且仅执行一次task。
java.util.Timer API简介——public void schedule(TimerTask task,long delay,long period)
public void schedule(TimerTask task,long delay,long period):等待delay毫秒后首次执行task,之后每隔period毫秒重复执行一次task。
java.util.Timer API简介——public void scheduleAtFixedRate(TimerTask task, Date firstTime,long period)
public void scheduleAtFixedRate(TimerTask task, Date firstTime,long period):时间等于或超过firstTime时首次执行task,之后每隔period毫秒重复执行一次task。
—scheduleAtFixedRate(TimerTask task, long delay, long period)
scheduleAtFixedRate(TimerTask task, long delay, long period):等待delay毫秒后首次执行task,之后每隔period毫秒重复执行一次task。
java.util.TimerTaskAPI简介——public boolean cancel()
取消当前TimerTask里的任务
java.util.TimerTaskAPI简介——public long scheduledExecutionTime()
public long scheduledExecutionTime():返回此任务最近实际执行的已安排执行的时间
返回值:最近此任务执行安排的时间,为long型。
public int purge()
从此计时器的任务队列中移除所有已取消的任务
返回值:从队列中移除的任务数
java.util.Timer.schedule和java.util.Timer.scheduleAtFixedRate的区别
java.util.Timer的缺陷 如果你在学习Java的过程中遇见了很多疑问和难题,可以加-q-u-n 678-241-563 里面有软件视频资料免费