实现简单计时器库的最佳算法是什么?图书馆应允许以下内容:
- 定时器要启动
- 定时器要停止
- 检查计时器是否仍在运行
定时器到期时,将调用回调函数。
定时器模块将允许定时器具有 Ns 的时间分辨率,并且每 Ns 应该给模块一次踢动,以提示模块检查过期的定时器。
许多定时器可以同时激活。
最好的算法需要满足以下目标
- 在处理计时器到期回调时对启动/停止计时器具有鲁棒性
- 允许快速启动、停止和检查计时器
- 内存占用小
Regards
我见过的最好的计时器算法是研究论文中发现的计时器轮散列和分层计时轮:用于高效实现计时器设施的数据结构 http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf
我知道 Java 中有 Netty、JBoss 的实现,并且我确信如果您使用 Java 编写,您也可以在其他地方使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)