Algorithm 高效定时器算法
实现简单计时器库的最佳算法是什么。图书馆应允许以下内容:Algorithm 高效定时器算法,algorithm,timer,Algorithm,Timer,实现简单计时器库的最佳算法是什么。图书馆应允许以下内容: 要启动的计时器 要停止的计时器 要检查计时器是否仍在运行 计时器到期时,将调用回调函数 定时器模块将允许定时器的时间分辨率为Ns,并且应每Ns对模块进行一次触发,以提示模块检查过期的定时器 许多定时器可能同时处于活动状态 最佳算法需要满足以下目标 在处理计时器到期回调时,对启动/停止的计时器保持健壮 允许快速启动、停止和检查计时器 内存占用小 就POSIX ish系统而言,您可以使用函数系列“免费”提供大量此类功能。计时器通常最好在操作系
就POSIX ish系统而言,您可以使用函数系列“免费”提供大量此类功能。计时器通常最好在操作系统内核中以汇编/C级别实现,尽可能使用APIC计时器等平台特定功能
您可能希望查看Linux实现的详细信息,并深入研究Linux源代码以查看有效的实现。我见过的计时器的最佳算法是研究论文中的计时器滚轮
我知道在Java中有一个使用Netty、JBoss的实现,我相信如果您是用Java编写的,您也可以在其他地方使用它 解决方案应该使用哪种语言?我对算法比对实现更感兴趣。如果它能帮助你知道我很可能会在C.RegardsHi Kristopher中实现它,我会看一看这些,但我对算法比对库更感兴趣。参考文献讨论了不同的计时器算法,以及在哪里可以适当地使用它们。如果链接将来失败,那么在阅读您的答案之前,了解标题“哈希和分层计时轮:高效实现计时器功能的数据结构”可能会有所帮助。我不知道NettyIO类,但实现似乎非常出色。没有双关语:不要重新发明轮子!这里还有一个C实现: