Timer和TimerTask与线程有什么关系

今天就跟大家聊聊有关Timer和TimerTask与线程有什么关系,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1. Timer是一个定时器,它可以根据指定的时间,指定的执行周期来执行固定的任务TimerTask,例子如下:

Timer和TimerTask与线程有什么关系

Timer与线程的关系,在Timer源代码中可现如下代码:

1. 以下为Timer的默认构造方法,起调用了自身的一个有参构造函数:

Timer和TimerTask与线程有什么关系

2.有参构造函数代码如下:

Timer和TimerTask与线程有什么关系

3. 有参构造函数设置了当前线程的名字并启动该线程,线程代码如下:

Timer和TimerTask与线程有什么关系

4. TimerThread类的源代码如下:

Timer和TimerTask与线程有什么关系

由以上代码可以看出Timer其实就是一个Thread类的子类。

TimerTask与线程的关系:

1. 以下为TimerTask的构造函数的源码:

Timer和TimerTask与线程有什么关系

2. 以下为TimerTask类的定义:

Timer和TimerTask与线程有什么关系

又以上代码可以看出,TimerTask是一个实现了Runnable接口的线程,此类中有一个抽象的run方法,如下:

Timer和TimerTask与线程有什么关系

所以我们必须在TimerTask的子类中实现这个run方法。

总结:

以上Timer和TimerTask的关系类似如下线程关系:

Timer和TimerTask与线程有什么关系

看完上述内容,你们对Timer和TimerTask与线程有什么关系有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。