如何让C语言sleep()函数等待时间小于1秒
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让C语言sleep()函数等待时间小于1秒相关的知识,希望对你有一定的参考价值。
急用!
我是要0.01s执行一次,按理说编程是sleep(10),但为什么不能执。
我的程序是运用c编,sleep 和delay都试过了,但还是不行。
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);
参考资料:http://hi.baidu.com/daihaipengdhp/blog/item/16dbf417bdcc710cc83d6d31.html
参考技术A 如果对时间要求非常精确,可以考虑采用和汇编中处理的情况,看看cpu的频率,将for命令分解成汇编语言,看多少毫秒执行一次命令,然后设置循环次数,这样足够精确,实际上在汇编下也是这么做的。 参考技术B 用delay会使进程独占cpu,一般最好不要用,可以用usleep(),单位微妙 休眠10毫秒就是usleep(1000*10) 参考技术C TC中sleep()函数原型为: unsigned sleep(unsigned seconds); 参数单位为秒delay()函数原型为: unsigned sleep(unsigned seconds); 参数单位为毫秒
函数sleep()确实会暂停x秒,但delay()多数情况下不精确,可以不断修正设置的数值,来达到控制时间的目的。 参考技术D #include <unistd.h> // 头文件
int usleep(useconds_t usec); // 函数原型
usec -- 毫秒。整数。最大允许值:小于 1000000
返回 0 -- 表示调用执行成功,1 -- 失败。
如何让 Dart 程序“休眠”1.6 秒
【中文标题】如何让 Dart 程序“休眠”1.6 秒【英文标题】:How can i "sleep" a Dart Porgram for 1.6 seconds 【发布时间】:2021-06-21 04:16:22 【问题描述】:是否可以在 Dart 中指定一个 double 值作为睡眠值?例如:sleep(Duration(seconds: 1.6));
【问题讨论】:
你不应该在 Dart 中使用sleep
。改用Timer
:api.dart.dev/stable/2.12.2/dart-async/Timer/Timer.html
这能回答你的问题吗? How to run code after some delay in Flutter?
Duration 仅将整数作为值。您可以使用毫秒或组合秒 + 毫秒
【参考方案1】:
既可以使用 Timer 类,也可以使用 Future.delayed() 方法来做同样的事情。
以下是 Future.delayed 方法的示例:
Future.delayed(const Duration(seconds: 1,milliseconds: 600), ()
// Here you can write your code
);
【讨论】:
【参考方案2】:Duration 构造函数有许多可选参数。您可以使用毫秒一来获得 1.6 秒的延迟
const Duration(milliseconds: 1600)
【讨论】:
我实际上是用毫秒完成的,然后感谢您的回答:D @Janis 不客气!然后您可以将此帖子标记为答案;)以上是关于如何让C语言sleep()函数等待时间小于1秒的主要内容,如果未能解决你的问题,请参考以下文章