免费注册 查看新帖 |

Chinaunix

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

请教:本土人想做一个精确的定时器,定时器需要使用相对时间而不是绝对时间定时 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-24 00:56 |只看该作者 |倒序浏览
本土人想做一个精确的定时器,定时器需要使用相对时间而不是绝对时间定时.
基于此目的,本土人使用了timers函数足,并且在timer_create时候指定为使用相对时间,
使用的时钟类型为CLOCK_REALTIME.
程序写完以后进行测试,在不改变系统时钟的时候,程序工作正常,但当我改变系统时钟以后
(将时钟调到过去的时间) 程序不再工作,及定时器不再触发.

请问有什么解决方法没有?

另--在linux/HP-UX/TRU64上是否有象 WIN上的getsystimeticks这样的函数,精确的返回系统启动到当前所经过的时间,豪秒精度如果有的话请给出,如果以上问题不得解决,打算自己写timer函数族.

jiffies 变量的说明那里有比较详细的,和用法,谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-06-25 10:42 |只看该作者
的到系统时间可以用
time_t t;
time(&t);
tm *tt;
tt=localtime(&t);

如果要定时要精确到毫秒,建议使用select

[ 本帖最后由 undeadboy 于 2006-6-25 10:45 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-06-25 12:15 |只看该作者

谢谢,但,还是希望有骨灰级的来帮个忙!

我在TRU64上使用timers函数族可以实现定时,可是精确度不高,在使用10MS的定时时候会有0。7MS的误差,虽然不是很大,但是如果一直使用的话会有累计误差,这是我的上层应用不容许的,有什么办法吗? 谢谢

论坛徽章:
0
4 [报告]
发表于 2006-06-25 14:09 |只看该作者
select可以精确到毫秒

论坛徽章:
0
5 [报告]
发表于 2006-06-25 14:55 |只看该作者

回复 3楼 tanq 的帖子

哈哈,看来新手最好还是潜水~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP