猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
请问该如何让C语言sleep()函数等待时间小于1秒?该怎么做?
急用!
我是要0.01s执行一次,按理说编程是sleep(10),但为什么不能执。
我的程序是运用c编,sleep 和delay都试过了,但还是不行。
有只小跳蛙
浏览 754
回答 3
3回答
慕容3067478
sleep()函数大概只能精确到50ms左右,你用sleep(10)是肯定不行的,如果你要精确的定时的话可以使用QueryPerformanceFrequency()函数,用法为:LARGE_INTEGER litmp;LONGLONG QPart1,QPart2;double dfMinus, dfFreq, dfTim;QueryPerformanceFrequency(&litmp);dfFreq = (double)litmp.QuadPart;// 获得计数器的时钟频率QueryPerformanceCounter(&litmp);QPart1 = litmp.QuadPart;// 获得初始值do{QueryPerformanceCounter(&litmp);QPart2 = litmp.QuadPart;//获得中止值dfMinus = (double)(QPart2-QPart1);dfTim = dfMinus / dfFreq;// 获得对应的时间值,单位为秒}while(dfTim<0.001);其定时误差不超过1微秒,精度与CPU等机器配置有关。×××××××××××××××××××××××××sleep()函数的中等待时间是以毫秒计算的,所以等待1秒就是sleep(1000),如果要让等待时间小于一秒,那么就让传入的参数小于1000就行了.比如,等待0.1秒:sleep(100);
0
0
0
阿晨1998
TC中sleep()函数原型为: unsigned sleep(unsigned seconds); 参数单位为秒delay()函数原型为: unsigned sleep(unsigned seconds); 参数单位为毫秒函数sleep()确实会暂停x秒,但delay()多数情况下不精确,可以不断修正设置的数值,来达到控制时间的目的。
0
0
0
郎朗坤
#include <unistd.h> // 头文件int usleep(useconds_t usec); // 函数原型usec -- 毫秒。整数。最大允许值:小于 1000000返回 0 -- 表示调用执行成功,1 -- 失败。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
PHP
php如何把参数放在Http Request Heade????
1 回答
C
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续