免费注册 查看新帖 |

Chinaunix

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

请问如何计算时间间隔 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-17 11:53 |只看该作者 |倒序浏览
在unix下面可以用
gettimeofday或time函数取得时间,
通过相减取得时间间隔
如果时间被别人改变,那么这个算出来就是错误的。
我知道windows可以用GetTickCount实现,
不会受到时间改变的影响。
unix怎么计算呢?谢谢各位先

论坛徽章:
0
2 [报告]
发表于 2004-03-17 12:42 |只看该作者

请问如何计算时间间隔

顶一下,高手们,赶快拉小生一把吧!

论坛徽章:
0
3 [报告]
发表于 2004-03-17 13:13 |只看该作者

请问如何计算时间间隔

用clock()

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2004-03-17 13:21 |只看该作者

请问如何计算时间间隔

#include <ctime>;


clock_t start=clock();
//............
int diff_time=(clock()-start)/CLOCKS_PER_SEC//将计算时间间隔!
diff_time是秒

论坛徽章:
0
5 [报告]
发表于 2004-03-17 13:29 |只看该作者

请问如何计算时间间隔

clock返回的是进程所用去的时间,
这样不大对吧,举例来说
start = clock();
sleep(30);
diff_time = (clock() - start)/CLOCKS_PER_SEC)
这样得到diff_time大约为0,而不是30秒

论坛徽章:
0
6 [报告]
发表于 2004-03-17 13:32 |只看该作者

请问如何计算时间间隔

?这样不对什么样对?这30s不是此应用消耗的,当然不算在内。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2004-03-17 13:34 |只看该作者

请问如何计算时间间隔

那除了sleep还有其它情况不合适用clock()的吗?

论坛徽章:
0
8 [报告]
发表于 2004-03-17 13:36 |只看该作者

请问如何计算时间间隔

[quote]原帖由 "fieryfox"]?这样不对什么样对?这30s不是此应用消耗的,当然不算在内。[/quote 发表:


话是这么说,
那要算实际的时间差如何算呢?

论坛徽章:
0
9 [报告]
发表于 2004-03-17 13:40 |只看该作者

请问如何计算时间间隔

[quote]原帖由 "THEBEST"]那除了sleep还有其它情况不合适用clock()的吗?[/quote 发表:

现实中的情况总是五花八门。
比方说用semaphore或mutex将程序暂时停住呢?
而且,即使中间没有sleep这样的语句,
clock算出的时间与实际时间间隔也是出入很大的,
特别是系统中很多程序在运行的时候

论坛徽章:
0
10 [报告]
发表于 2004-03-17 13:52 |只看该作者

请问如何计算时间间隔

clock算出的不是wall time。你要wall time就是gettimeofday了,还找什么呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP