存档

文章标签 ‘超时处理’

定时器(Timer)的实现

2010年3月22日 4 条评论

本文是继前面写过的《谈事件驱动模型中的“超时”(Timeout)处理》的第二篇,主要谈一谈事件驱动模型超时处理中用到的定时器的实现,以及如何用定时器来处理事件驱动模型中的超时事件。

下面就从以下几个方面谈一下定时器:
1. 什么是定时器?
定时器,又称Timer,顾名思义,它是用来在指定的时刻完成特定任务的一种工具的抽象。

2. 定时器是干什么用的?
在程序中,定时器常被用来完成两类任务,一种是周期性的任务,就是每隔指定的时间执行一次的任务,另一种是在特定时刻要执行的任务,就是只在某一个特定的时刻执行,而且只执行一次的任务。
举个生活中的例子,闹钟,相信大家都不陌生,比如我们定了每天早上八点起床的闹钟,然后它就会在每天八点这个特定的时刻执行响铃这个任务,来叫我们起床,这就是上面讲到的第一种类型的定时器任务。再一个例子,就是日历(用过谷歌日历的读者朋友应该知道),我们在谷歌日历中制定一段时间的行程安排,它在每天那个特定的时刻就会提醒我们做这一时刻该做的事,这就是上面讲的第二种类型的定时器任务。 阅读全文…