Timer和TimerTask与线程的关系
2012-09-23 13:12
323 查看
1. Timer是一个定时器,它可以根据指定的时间,指定的执行周期来执行固定的任务TimerTask,例子如下:
![](http://img.my.csdn.net/uploads/201209/23/1348376592_7988.jpg)
Timer与线程的关系,在Timer源代码中可现如下代码:
1. 以下为Timer的默认构造方法,起调用了自身的一个有参构造函数:
![](http://img.my.csdn.net/uploads/201209/23/1348376973_5693.jpg)
2.有参构造函数代码如下:
![](http://img.my.csdn.net/uploads/201209/23/1348377047_7897.jpg)
3. 有参构造函数设置了当前线程的名字并启动该线程,线程代码如下:
![](http://img.my.csdn.net/uploads/201209/23/1348377134_7638.jpg)
4. TimerThread类的源代码如下:
![](http://img.my.csdn.net/uploads/201209/23/1348377478_6884.jpg)
由以上代码可以看出Timer其实就是一个Thread类的子类。
TimerTask与线程的关系:
1. 以下为TimerTask的构造函数的源码:
![](http://img.my.csdn.net/uploads/201209/23/1348377729_1581.jpg)
2. 以下为TimerTask类的定义:
![](http://img.my.csdn.net/uploads/201209/23/1348377763_7509.jpg)
又以上代码可以看出,TimerTask是一个实现了Runnable接口的线程,此类中有一个抽象的run方法,如下:
![](http://img.my.csdn.net/uploads/201209/23/1348377824_9407.jpg)
所以我们必须在TimerTask的子类中实现这个run方法。
总结:
以上Timer和TimerTask的关系类似如下线程关系:
![](http://img.my.csdn.net/uploads/201209/23/1348376592_7988.jpg)
Timer与线程的关系,在Timer源代码中可现如下代码:
1. 以下为Timer的默认构造方法,起调用了自身的一个有参构造函数:
![](http://img.my.csdn.net/uploads/201209/23/1348376973_5693.jpg)
2.有参构造函数代码如下:
![](http://img.my.csdn.net/uploads/201209/23/1348377047_7897.jpg)
3. 有参构造函数设置了当前线程的名字并启动该线程,线程代码如下:
![](http://img.my.csdn.net/uploads/201209/23/1348377134_7638.jpg)
4. TimerThread类的源代码如下:
![](http://img.my.csdn.net/uploads/201209/23/1348377478_6884.jpg)
由以上代码可以看出Timer其实就是一个Thread类的子类。
TimerTask与线程的关系:
1. 以下为TimerTask的构造函数的源码:
![](http://img.my.csdn.net/uploads/201209/23/1348377729_1581.jpg)
2. 以下为TimerTask类的定义:
![](http://img.my.csdn.net/uploads/201209/23/1348377763_7509.jpg)
又以上代码可以看出,TimerTask是一个实现了Runnable接口的线程,此类中有一个抽象的run方法,如下:
![](http://img.my.csdn.net/uploads/201209/23/1348377824_9407.jpg)
所以我们必须在TimerTask的子类中实现这个run方法。
总结:
以上Timer和TimerTask的关系类似如下线程关系:
![](http://img.my.csdn.net/uploads/201209/23/1348378109_9355.jpg)
相关文章推荐
- Timer和TimerTask与线程的关系
- 浅谈Timer和TimerTask与线程的关系
- Android在后台线程和timertask分别实现定期更新时间
- Timer TimerTask 定时器线程
- TimerTask()中调用TextView.setText报错原因(非UI线程中 不能访问UI组件)
- 线程配合及Timer TimerTask理解
- 非UI线程可以去刷新UI吗(timertask调用progressbar的setProgress的特例)
- 第五节:Task构造函数之TaskCreationOptions枚举处理父子线程之间的关系。
- 0090 Java线程:Timer和TimerTask【基础】
- 非UI线程可以去刷新UI吗(timertask调用progressbar的setProgress的特例)
- Java 线程——Timer & TimerTask
- 线程的Timer/TimerTask/时间调度器
- 1:java.util.Timer类是一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。 2:TimerTask类是由 Timer 安排为一次执行或重复执行的任
- Java多线程2-线程协作、Timer和TimerTask
- 稳扎稳打Silverlight(25) - 2.0线程之Thread, Timer, BackgroundWorker, ThreadPool
- Java SE 下使用Timer和TimerTask进行定时服务,时间的格式化
- 进程线程及堆栈关系的总结(转)
- 进程与线程、应用程序域关系
- Java并发编程:Timer和TimerTask(转载)
- android休眠之后 定时任务TimerTask不生效