============================================================================
原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。
请注明转自:http://yunjianfei.iteye.com/blog/
============================================================================
最近从bacula里面的代码整理出来一个timer,实现的功能为:
可以启动一个独立的timer server线程,可以向其注册N个timer,在发生timeout的时候调用回调函数做一些事情。
最典型的场景为:一个socket server监听连接,来连接的时候创建一个线程,做类似状态机之类的一些工作。这时候如果发生超时,就比较麻烦。
如果有一个timer server,在来连接的时候,就注册一个timer,加入threadid,回调函数。在发生timeout的时候,就比较灵活了。
代码下载地址为http://download.csdn.net/download/xiaoyu966/6834199
见谅,积分有点高- -,不过确实是自己花了点时间改出来的,赚点积分哈哈。希望能帮助到大家。