- 先从例子分析
package Timer;
import java.util.Timer;
import java.util.TimerTask;
public class test_1 {
public static void main(String[] args) {
//创建Timer一个对象t。
Timer t = new Timer();
//设定指定任务task在指定延迟100毫秒(delay)后进行第一次,
//之后再延迟1秒(peroid)之后继续执行一次且重复操作,直到取消此计时器。
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
System.out.println("hello.............");
}
}, 100, 1000);//延迟100毫秒执行一次,之后间隔1000毫秒即1秒执行一次。
}
}
运行此代码,结果如下:
hello.............
hello.............
hello.............
hello.............
hello.............
hello.............
-
Timer类说明。
Timer类是java中的定时任务调度工具,用来在一个后台线程计划执行指定的任务。它可以安排任务在给定的时间点,给定的时间间隔,自动“执行一次”或者定期“执行多次”指定的任务。 -
Timer类函数方法说明
- schedule(TimerTask task, Date time) : 在时间等于或者超过time的时候,任务task仅仅执行一次。
- schedule(TimerTask task, Date firsttime, long period) : 在时间等于或者超过firsttime的时候,执行一次task任务,之后每次过了period时间,都再执行一次task任务。
- schedule(TimerTask task, long delay) :在延迟delay时间之后,执行一次task任务。
- schedule(TimerTask task, long delay, long period):在延迟delay之后,执行一次task任务,之后每次过了period 时间,都再执行一次task任务。
- scheduleAtFixedRate(TimerTask task,Date firstTime,long period): 安排指定task任务在指定的时间开始进行重复的固定速率执行。
- scheduleAtFixedRate(TimerTask task,long delay,long period): 安排指定task任务在指定的延迟后开始进行重复的固定速率执行.
-
有关于Timer源码以及更加详细的解释,请看下面几篇其他人的文章:
- https://blog.csdn.net/xixi_haha123/article/details/81082321
- https://baijiahao.baidu.com/s?id=1645906817252040900&wfr=spider&for=pc
- https://www.cnblogs.com/xsjzhao/p/10651704.html#autoid-3-3-0