Closed wanghenshui closed 2 months ago
常见的应用场景有:
1)心跳检测
2)游戏技能冷却
3)倒计时
4) 其他需要延时处理的功能
定时器由两部分组成:容器 + 检测触发机制
1)容器:负责组织大量定时任务
2)检测触发机制:负责检测最近要触发的定时任务 二、定时器的触发方式
对服务端来说,驱动服务端业务逻辑的事件,包括:网络事件、定时事件、以及信号事件。 通常,网络事件和定时事件会进行协同处理。
定时器触发形式通常有两种:
1)利用I/O多路复用系统调用的最后一个参数(超时时间),来触发检测定时器。
2)利用timefd,将定时检测作为I/O多路复用当中的事件进行处理。
https://github.com/facebook/folly/blob/main/folly/io/async/HHWheelTimer.h