wanghenshui / wanghenshui.github.io

my blog, please do not fork
https://wanghenshui.github.io
Other
4 stars 1 forks source link

hhwheeltimer #98

Closed wanghenshui closed 2 months ago

wanghenshui commented 10 months ago

https://github.com/facebook/folly/blob/main/folly/io/async/HHWheelTimer.h

wanghenshui commented 10 months ago

常见的应用场景有:

1)心跳检测

2)游戏技能冷却

3)倒计时

4) 其他需要延时处理的功能

定时器由两部分组成:容器 + 检测触发机制

1)容器:负责组织大量定时任务

2)检测触发机制:负责检测最近要触发的定时任务 二、定时器的触发方式

对服务端来说,驱动服务端业务逻辑的事件,包括:网络事件、定时事件、以及信号事件。 通常,网络事件和定时事件会进行协同处理。

定时器触发形式通常有两种:

1)利用I/O多路复用系统调用的最后一个参数(超时时间),来触发检测定时器。

2)利用timefd,将定时检测作为I/O多路复用当中的事件进行处理。