浅谈Timer和TimerTask与线程的关系

下面小编就为大家带来一篇浅谈Timer和TimerTask与线程的关系。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

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

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

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

4. TimerThread类的源代码如下:

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

TimerTask与线程的关系:

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

2. 以下为TimerTask类的定义:

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

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

总结:

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

以上这篇浅谈Timer和TimerTask与线程的关系就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...