使用 Java 来调度定时任务时,我们经常会使用 Timer 类搞定。Timer 简单易用,在一些业务场景下用来实现简单定时调度。
// 5秒后开始执行,每秒执行一次 Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { System.out.println("hello world"); } }, 50000 , 1000);
经过delay(ms)后开始进行调度,仅仅调度一次。
public void schedule(TimerTask task, long delay)
在指定的时间点time上调度一次
public void schedule(TimerTask task, Date time)
在delay(ms)后开始调度,每次调度完后,最少等待period(ms)后才开始调度
public void schedule(TimerTask task, long delay, long period)
在到了指定时间后开始调度,每次调度完后,最少等待period(ms)后才开始调度。
public void schedule(TimerTask task, Date firstTime, long period)
在delay(ms)后开始调度,然后每经过period(ms)再次调度。
public void scheduleAtFixedRate(TimerTask task, long delay, long period)
schedule方法的区别在于:
schedule在计算下一次执行的时间的时候,是通过当前时间(在任务执行前得到) + 时间片,而scheduleAtFixedRate方法是通过当前需要执行的时间(也就是计算出现在应该执行的时间)+ 时间片,前者是运行的实际时间,而后者是理论时间点。比如:
在到了指定时间后开始调度,每次调度完后,最少等待period(ms)后才开始调度。
public void scheduleAtFixedRate(TimerTask task, Date firstTime,long period)
Timer 类里包含一个任务队列和一个异步轮询线程。任务队列里容纳了所有待执行的任务,所有的任务将会在这一个异步线程里执行,切记:
public class Timer { private final TaskQueue queue = new TaskQueue(); private final TimerThread thread = new TimerThread(queue); }
Timer 的任务队列 TaskQueue 是一个特殊的队列,它内部是一个数组。这个数组会按照待执行时间进行堆排序,堆顶元素总是待执行时间最小的任务。
更多关于Jave时间类库Timer的使用方法与实例请查看下面的相关链接
本文向大家介绍Java Timer scheduleAtFixedRate()方法与示例,包括了Java Timer scheduleAtFixedRate()方法与示例的使用技巧和注意事项,需要的朋友参考一下 计时器类方法 语法: scheduleAtFixedRate()方法在java.util包中可用。 scheduleAtFixedRate(TimerTask tt,Date ft,lon
本文向大家介绍Java Timer purge()方法与示例,包括了Java Timer purge()方法与示例的使用技巧和注意事项,需要的朋友参考一下 计时器类方法 purge()方法在java.util包中可用。 purge()方法用于从此Timer的任务队列中删除所有已取消的任务。 purge()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。 p
本文向大家介绍Java Timer cancel()方法与示例,包括了Java Timer cancel()方法与示例的使用技巧和注意事项,需要的朋友参考一下 计时器类方法 cancel()方法在java.util包中可用。 cancel()方法用于取消此Timer并丢弃当前计划的任何任务。 cancel()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。
本文向大家介绍Java汉字转拼音类库Pinyin4j详细使用方法与实例,包括了Java汉字转拼音类库Pinyin4j详细使用方法与实例的使用技巧和注意事项,需要的朋友参考一下 汉字转拼音类库Pinyin4j一般用法 pinyin4j的使用很方便,一般转换只需要使用PinyinHelper类的静态工具方法即可: 返回的数组即是该字符的拼音,如上例就是pinyin[0]=liu2,后面的数字代表声调,
本文向大家介绍Java 定时器(Timer,TimerTask)详解及实例代码,包括了Java 定时器(Timer,TimerTask)详解及实例代码的使用技巧和注意事项,需要的朋友参考一下 Java 定时器 在JAVA中实现定时器功能要用的二个类是Timer,TimerTask Timer类是用来执行任务的类,它接受一个TimerTask做参数 Timer有两种执行任务的模式,最常用的是sch
本文向大家介绍Python实例方法、类方法、静态方法的区别与作用详解,包括了Python实例方法、类方法、静态方法的区别与作用详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实例方法、类方法、静态方法的区别与作用。分享给大家供大家参考,具体如下: Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用