java多线程学习之TimerTask是什么

首先你要知道 TimerTask类实现自Runnable接口即 TimerTask implements Runnable.这就告诉我们了TimerTask类本质上来说它是对Runnable接口的一个实现类.即一个TimerTask类型对象本质上就是一个Runnable类型对象的一个多态形式.


TimerTask类是java语言专门为了配合java.util.Timer这个工具类的工作而设计的.换句话说TimerTask类就是专门为了java.util.Timer而设计的.二者必须配合使用,且它们俩是固定搭配(固定的搭档),这个你看看java.util.Timer类的构造函数你就知道了.即java.util.Timer仅仅支持对TimerTask类型任务的使用.即要想让一个任务(Runnable类型实例)运行(执行起来)于一个Timer类型实例上(Timer类型实例是一种特殊类型的Thread类型实例,这是个合理假想,因为实际上每一个Timer类型实例都对应与一个Thread类型实例进行了一一对应的绑定,这个Thread类型对象就是为该Timer类型对象服务的,并且Timer类型对象会将与它一一对应绑定的那个thread专用于去执行TimerTask类型任务),那么这个Runnable类型实例必须是一个TimerTask类型类的实例化对象(这与Runnable类型实例化对象必须寄生到Thread类型实例化对象上才能运行(被执行)的理念不谋而合).换句话说:TimerTask类型的对象必须嫁接(寄生)到java.util.Timer类型对象上才能够被运行(被执行).
_______________________________________________________________________________________________________________________
结论:TimerTask类型的对象是任务的一种(TimerTask是一种特殊类型的Runnable对象)它必须嫁接(寄生)到java.util.Timer类型对象上才能够被运行(被执行).
而java.util.Timer类型对象恰巧是一种特殊类型的thread对象(这是个合理的假想:实际上每一个Timer类型实例都对应与一个Thread类型实例进行了一一对应的绑定,这个Thread类型对象就是为该Timer类型对象服务的,并且Timer类型对象会将与它一一对应绑定的那个thread专用于去执行TimerTask类型任务).

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值