首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >linux计时器在Dev轮询反应器中实现超时的应用

linux计时器在Dev轮询反应器中实现超时的应用
EN

Stack Overflow用户
提问于 2014-01-29 08:29:28
回答 1查看 1.8K关注 0票数 2

我只是想知道在linux上使用timerfd (timerfd_create)是否会比Timer_Heap或Timer_Wheel带来任何性能上的好处。当然,这是一个非常高层次的问题,我看到在任何框架中使用它的唯一地方是"muduo".Also,我也没有任何性能比较。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-29 17:05:27

像libevent这样的事件循环库,将计时器保持在一个min堆中,并将超时传递到下一个计时器到期时给select/epoll。注意,在这个场景中,添加和移除计时器不涉及任何系统调用,它只是在min堆中添加了一个新元素。

使用timerfd时,只需3个系统调用(timerfd_create()timerfd_settime()epoll_ctl())即可创建一个计时器。每次它到期时,您都需要从该文件描述符中提取read()

对于没有事件循环的应用程序来说,timerfd可能很有用,但是对于那些已经使用了不错的事件循环的应用程序来说,它几乎是无用的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21425736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档