码迷,mamicode.com
首页 > 编程语言 > 详细

java的Timer和TimerTask

时间:2016-01-28 00:45:43      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

java中Timer类使用的方法是如下的:

Timer timer = new Timer();  
timer.schedule(new TimerTask() {  
        public void run() {  
            System.out.println("abc");  
        }  
}, 200000 , 1000); 

但是实现的原理是怎么样的。下图是Timer源码的实现方式:

技术分享  

 

总体来说,Timer中有一个TaskQueue和TimerThread。TaskQueue存放的是任务的堆,最先执行的任务放在最前面。TimerThread调用mainLoop()方法,一直循环消费TaskQueue中的TimerTask。如果Timer设置了重复执行的方法,TaskQueue中的TimerTask被消费执行的时候,又会插入一个新的TimerTask。

详细的代码分析见 http://blog.csdn.net/xieyuooo/article/details/8607220

java的Timer和TimerTask

标签:

原文地址:http://www.cnblogs.com/dongqiSilent/p/5164822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!