博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java的Timer和TimerTask
阅读量:6176 次
发布时间:2019-06-21

本文共 520 字,大约阅读时间需要 1 分钟。

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

转载于:https://www.cnblogs.com/dongqiSilent/p/5164822.html

你可能感兴趣的文章
光模块及光纤知识(含分类,常用类型介绍)
查看>>
Apache 单IP多端口设置
查看>>
安装系统前的准备---vmware
查看>>
Tiny并行计算框架之使用介绍
查看>>
Linux od命令
查看>>
一个不错的MySQL集群管理工具
查看>>
mysql-proxy 按表分发查询的lua脚本
查看>>
在wordpress主题下面添加二级菜单
查看>>
CentOS 下JDK安装
查看>>
Nginx + Django
查看>>
我的友情链接
查看>>
用shell脚本编写进度条
查看>>
使用Live555类库实现的网络直播系统
查看>>
IO与NIO
查看>>
go_wed编程笔记
查看>>
iptables防火墙的使用
查看>>
浅谈js中的继承
查看>>
软件工程 之 画扇面
查看>>
zabbix mysql数据库迁移方案
查看>>
VirtualBox虚拟机网络设置(四种方式)
查看>>