免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3372 | 回复: 3
打印 上一主题 下一主题

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(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
2 [报告]
发表于 2010-11-29 11:29 |只看该作者
最小堆 + LINUX自己提供的定时器API 或 网络库经常用的使用IO多路复用的定时器来实现过期。

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

论坛徽章:
0
3 [报告]
发表于 2010-11-29 11:59 |只看该作者
本帖最后由 yjwmeng 于 2010-11-29 12:00 编辑

回复 2# ccj_19850121


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

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
4 [报告]
发表于 2010-11-29 12:05 |只看该作者
同LS,libevent的定时器就是用最小堆实现的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP