JAVA Timer 分析

来源:互联网 发布:店宝宝实物软件 编辑:程序博客网 时间:2024/06/06 04:51

java提供了一个简单的定时器 Timer,相关的类有 TimerTask, TaskQueue, and TimerThread。 他们之间的关系如下图所示:



这是一个典型的生产者-消费者模式。Timer是TaskQueue的生产者,TiimerThread 是 TaskQueue的消费者。

queue中的task必须保证 头节点的 要执行的时间最小,对于后续节点则不关心顺序,所以TaskQueue采用了 “二叉堆”(binary heap)的排序方式。

关于二叉堆,请参考:http://www.cppblog.com/guogangj/archive/2009/10/29/99729.html

著名的定时器库quartz完善了java timer 的功能,其中TimerTask是quartz中任务的父类。

0 0
原创粉丝点击