Java Timer(定时器)
概述:
Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以安排任务“执行一次”或者定期“执行多次”。
然而在实际的开发过程当中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。
对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。
--------------------------------------------------------------------------------------------------------------
方法摘要:
schedule(TimerTask task, Date time) : 安排在 "指定的时间" 执行 指定的任务。(只执行一次)
schedule(TimerTask task, Date firstTime , long period) : 安排指定的任务在 "指定的时间 " 开始进行 "重复" 的固定延迟执行.( )
schedule(TimerTask task,long delay) : 安排在指定延迟后执行指定的任务.
schedule(TimerTask task,long delay,long period): 安排指定的任务指定的延迟后开始进行重复的固定延迟执行.
scheduleAtFixedRate(TimerTask task,Date firstTime,long period): 安排指定的任务在指定的时间开始进行重复的固定速率执行.
scheduleAtFixedRate(TimerTask task,long delay,long period): 安排指定的任务在指定的延迟后开始进行重复的固定速率执行.
Timer.cancal(): 终止此计时器,丢弃所有当前已安排的任务。
Timer.purge(): 从此计时器的任务队列中移除所有已取消的任务。
------------------------------------------------------------------------------------------------
实例代码案例:
1、 在指定的时间做某事(只做一次): schedule(TimerTask task, Date time)
源码案例如下:
运行效果:
----------------------------------------------------------------------------------------------------------
2、 安排在指定延迟后执行指定的任务:schedule(TimerTask task,long delay)
源码如下:
运行效果:
-------------------------------------------------------------------------------------------------------
3、安排指定的任务在“指定的延迟”后开始进行“重复”的固定延迟执行:
schedule(TimerTask task,long delay,long period):
源码如下:
运行效果:
-------------------------------------------------------------------------------------------
在这里就主要讲解常用的以上三个方法,其他的方法都是差不多的;
-------------------------------------------------------------------------------------------
扩展:
在实际的开发过程当中,用到的实际比较少;一般都会使用
“Quartz”是一个完全由Java 编写的开源调度框架。
------------------------------------------------------------------------------------------
在最后,感谢大家看完这篇文章,希望该文章对大家有所帮助!