免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: buxoman
打印 上一主题 下一主题

做定时器时,select和nanosleep两个方法何者更精确? [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
11 [报告]
发表于 2008-04-16 09:35 |只看该作者
看一下ACE...定时器不能用sleep做驱动..
要用一个可以外部唤醒的驱动器  例如select 或epoll 或poll .. 至于精度问题.我觉得任何一个都能满足日常需求..

论坛徽章:
0
12 [报告]
发表于 2008-04-16 16:53 |只看该作者
自己试一下就知道了啊

论坛徽章:
0
13 [报告]
发表于 2008-04-16 19:27 |只看该作者
原帖由 cookis 于 2008-4-16 09:35 发表
看一下ACE...定时器不能用sleep做驱动..
要用一个可以外部唤醒的驱动器  例如select 或epoll 或poll .. 至于精度问题.我觉得任何一个都能满足日常需求..


请问外部唤醒是什么意思?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
14 [报告]
发表于 2008-04-25 17:09 |只看该作者

回复 #14 feiyang21687 的帖子

比如你用sleep驱动.. 可能你要usleep(100 * 1000) ..每100毫秒循环检查一次是不是有定时器超时了..
但如果你刚刚睡眠..而又想注册一个新的定时器.这时是不会生效的.. 因为你无法唤醒sleep

所以如果你用select的话.你可以创建一个管道.将可读事件注册到select 中. 然后当你注册新的事件时,向管道写端发一个数据
这时select 自然就唤醒了..
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP