免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3165 | 回复: 3

求教:linux下timer问题? [复制链接]

论坛徽章:
0
发表于 2010-11-29 09:42 |显示全部楼层
在linux下怎么实现timer呢?
我在网上查了一下查到两种方法,如下:
1:
将定时器加到定时器队列中
void add_timer(struct timer_list *timer)
修改定时器的到期时间
int mod_timer(struct timer_list *timer, unsigned long expires)
将定时器删除(以后这个定时器将不再起作用)
int del_timer(struct timer_list * timer)
2:
timer_create()
timer_settimer()
timer_gettimer()
timer_delete()
不知道这两种方法有什么区别与联系。使用那种好呢?
大侠们有空帮下忙啊,谢谢了!

论坛徽章:
0
发表于 2010-11-29 11:29 |显示全部楼层
最小堆 + LINUX自己提供的定时器API 或 网络库经常用的使用IO多路复用的定时器来实现过期。

网上有篇文章讲的很好, 搜下

论坛徽章:
0
发表于 2010-11-29 11:59 |显示全部楼层
本帖最后由 yjwmeng 于 2010-11-29 12:00 编辑

回复 2# ccj_19850121


    我不懂第一种的函数组是干什么用的?大部分介绍的都是第二种的。

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2010-11-29 12:05 |显示全部楼层
同LS,libevent的定时器就是用最小堆实现的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP