gettimeofday函数获得的微秒数是从什么时候开始算的,另为什么usleep(20)前后获得的微秒数之差会大于20,而且不是一个固定值
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main()
{
struct timeval before_usleep;
struct timeval after_usleep;
gettimeofday(&before_usleep,NULL);
usleep(20);
gettimeofday(&after_usleep,NULL);
printf("%d,\n%d\n",before_usleep.tv_usec,after_usleep.tv_usec);
printf("sleep time =%dms\n",after_usleep.tv_usec-before_usleep.tv_usec);
exit(0);
}
[kiongf@localhost ~]$ ./a.out
667131,
668155
sleep time =1024ms
[kiongf@localhost ~]$ ./a.out
367426,
368407
sleep time =981ms
[kiongf@localhost ~]$ ./a.out
48116,
49014
sleep time =898ms
[kiongf@localhost ~]$ ./a.out
553446,
553849
sleep time =403ms
[kiongf@localhost ~]$ ./a.out
475882,
476690
sleep time =808ms
这是我多次运行的结果。usleep的差值越来越大从70ms-981ms
~
#include <time.h>
#include <stdlib.h>
int main()
{
struct timeval before_usleep;
struct timeval after_usleep;
gettimeofday(&before_usleep,NULL);
usleep(20);
gettimeofday(&after_usleep,NULL);
printf("%d,\n%d\n",before_usleep.tv_usec,after_usleep.tv_usec);
printf("sleep time =%dms\n",after_usleep.tv_usec-before_usleep.tv_usec);
exit(0);
}
[kiongf@localhost ~]$ ./a.out
667131,
668155
sleep time =1024ms
[kiongf@localhost ~]$ ./a.out
367426,
368407
sleep time =981ms
[kiongf@localhost ~]$ ./a.out
48116,
49014
sleep time =898ms
[kiongf@localhost ~]$ ./a.out
553446,
553849
sleep time =403ms
[kiongf@localhost ~]$ ./a.out
475882,
476690
sleep time =808ms
这是我多次运行的结果。usleep的差值越来越大从70ms-981ms
~
...全文
相关推荐
Linux时间函数之gettimeofday()函数之使用方法
在C语言中可以使用函数gettimeofday()函数来得到时间。它的精度可以达到微妙,下面一起来看看
Linux下通过gettimeofday函数获取程序段执行时间【推荐】
主要介绍了Linux下通过gettimeofday函数获取程序段执行时间,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
C语言中settimeofday函数和gettimeofday函数的使用
主要介绍了C语言中的settimeofday函数和gettimeofday函数的使用,注意settimeofday()函数只返回0和-1,需要的朋友可以参考下
inux下gettimeofday函数windows替换方法(详解)
下面小编就为大家带来一篇inux下gettimeofday函数windows替换方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
gettimeofday
计算系统运行一个thread需要多长时间


