关于select定时器和usleep定时器的准确率说明
来源:互联网 发布:淘宝上买了把刀被拘留 编辑:程序博客网 时间:2024/06/05 02:33
。。。。。。
unsigned int nSec= 0;
unsigned int nUSec= 0;
struct timeval tvBegin, tvNow;
int delay[20] = {500000,100000,50000,10000,1000,900,500,100,10,1,0};
int nReaduce = 0;
int nDelay = 0;
int iTimeTest = 0;
for( int i = 0; i<11; i++)
{
nDelay = delay[i];
bzero(&tvBegin, sizeof(tvBegin));
bzero(&tvNow, sizeof(tvNow));
gettimeofday(&tvBegin, NULL);
usleep(nDelay);
//fntimer(0,nDelay);
gettimeofday(&tvNow, NULL);
iTimeTest =( (tvNow.tv_sec-tvBegin.tv_sec)*1000000+tvNow.tv_usec-tvBegin.tv_usec);
printf("%d\n", iTimeTest - nDelay);
}
return E_OK;
}
int fntimer(int sec, int msec)
{
struct timeval temp;
temp.tv_sec = sec;
temp.tv_usec = msec;
select(0,NULL ,NULL, NULL, &temp);
return E_OK;
}
在使用usleep时结果为打印的结果为:
1108
832
974
937
907
1077
475
907
979
986
1005
在使用fntimer()时结果为打印的结果为:
-438
-35
-17
-9
-35
109
488
889
978
987
3
0 0
- 关于select定时器和usleep定时器的准确率说明
- Linux下的微秒级定时器: usleep, nanosleep, select, pselect
- Linux下的微秒级定时器: usleep, nanosleep, select, pselect
- STM32F2xx的定时器说明
- 关于java Quartz定时器*和?的区别
- 关于STM32的systick定时器的详细说明
- 关于STM32的systick定时器的详细说明
- 关于STM32的systick定时器的详细说明
- 关于STM32的systick定时器的详细说明
- 关于Symbian的定时器
- 关于定时器的pending
- 关于libevent的定时器
- 关于定时器的总结
- linux应用层定时器 sleep usleep
- [Win驱动]定时器的说明
- Spring的定时器说明文档
- 关于Linux的线程休眠函数sleep/usleep/nanosleep/select
- Qt定时器:QObject类的定时器和定时器类QTimer
- 第三方开源动画库EasyAnimation中一个小bug的修复
- toolbar不响应点击的问题
- Linux环境下最新版GCC安装总结--详细说明附案例(CentOS下安装最新版GCC 5.3.0)
- 开启博客之路
- constructor while block
- 关于select定时器和usleep定时器的准确率说明
- VS 下使用findcontours函数触发断点问题解决方案
- HTML之Canvas标签及对应属性、API详解
- TOMCAT优化
- 静态成员与友元
- 【Spring4揭秘 BeanFactory】PropertyEditor
- mac cpu温度持续超高,风扇转速4000转以上的其中一种可能
- 7-111 乡村生产总值(同类对象数据统计)
- Android ListView分组