欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Timer定时器

程序员文章站 2022-07-14 13:17:51
...

    记得之前看过关于定时任务的源码,但是长时间没有看,又忘了。今天又看了一遍,加深印象,写下来复习一下。

一、首先是在延迟一段时间后调度任务或在指定的时间调度任务。但是在执行完任务后timer并不是即可结束,而是可能在任何时间结束。所以想要立即结束,需要在执行完成之后调用cancel方法。

schedule(TimerTask timer, long delay);
schedule(TimeTask timer, Date delay);

二、在延迟一段时间后调度任务或在指定的时间调度任务,在延迟period毫秒之后重复执行任务。

schedule(TimerTask timer, long delay, long period);
schedule(TimerTask timer, Date date, long period);
scheduleAtFixedRate(TimerTask timer, long delay, long period);
scheduleAtFixedRate(TimerTask timer, Date delay, long period); 

上面四个方法中前两个方法是在间隔固定的时间执行一次。

后两个调度任务的方法要求重复执行的速率固定,如果某一次调度的时间超过了period的时间,后续的任务执行的时间间隔可能不是period,直到频率为1/period为止。



相关标签: Java