java timer和timertask,浅谈Timer和TimerTask与线程的关系

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

6d51cc09bb93a575de007c12eb1634d5.png

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

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

ef41b0e8384e480a582c08660f4319c4.png

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

1b96c11255d9145d99a36bfadc6ae887.png

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

17b77fb7524e4b3ea19c8642a9b0b360.png

4. TimerThread类的源代码如下:

891ddbcaa470837e234cd4aa72eb8992.png

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

TimerTask与线程的关系:

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

8922a1225bced50cb1127e603c43468a.png

2. 以下为TimerTask类的定义:

934ddffbe397df8e189c422395ebb456.png

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

a83a74b4df92373bfe8e2f4ff936e0b4.png

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

总结:

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

f1a8c8110d17c488b8fb6e8bcf669908.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值