草庐IT

c++ - C 中的 sleep 函数错误

我有一个数据转储文件,其中包含可用的不同时间戳数据,我从时间戳中获取时间并在该时间休眠我的c线程。但问题是实际时间差是10秒,而我在接收端收到的数据几乎是14、15秒的延迟。我正在使用窗口操作系统。请指导我。对不起我一周的英语。 最佳答案 休眠函数至少会休眠到你指定的时间,但不能保证它不会休眠更长时间。如果你需要一个准确的时间间隔,你将需要使用一些其他的机制。 关于c++-C中的sleep函数错误,我们在StackOverflow上找到一个类似的问题: htt

c - Sleep() 不准确吗?

我正在开发一个计时系统,我将实现一个计时器类。#include#include#includeintmain(){clock_tt1,t2;t1=clock();Sleep(10);t2=clock();printf("%i\n",(int)(t2-t1));return0;}这个程序应该打印“10”,但它打印了“15”或“16”。我需要小于1毫秒的更准确!建议?(也许有select()的超时?)注意:我在Windows7Ultimatex86上运行过这个程序。使用MinGW(C/C++)x86编译的程序。NOWITHINK>> 最佳答案

c++ - Windows C/Sleep() 函数在时钟漂移期间将如何运行?

如果我运行类似Sleep(10000)的程序,并且在此期间系统时钟发生变化,线程是否仍会休眠10秒的挂钟时间,或更少或更多?IE。Sleep()函数是否将毫秒转换为硬件滴答? 最佳答案 Sleep()与挂钟时间无关。它基于用于线程调度的同一计时器。不过,由于系统时钟的频率以及您实际计划在超时结束后运行的时间,您通常不会正好睡10秒。 关于c++-WindowsC/Sleep()函数在时钟漂移期间将如何运行?,我们在StackOverflow上找到一个类似的问题:

windows - 有没有收到消息就 sleep 的方法?

我正在使用一个主循环如下所示的服务:while(fServer.ServerState=ssStarted)and(Self.Terminated=false)dobeginSelf.ServiceThread.ProcessRequests(false);ProcessFiles;Sleep(3000);end;ProcessRequests很像Application.ProcessMessages。我无法将true传递给它,因为如果我这样做,它就会阻塞,直到收到来自Windows的消息,并且ProcessFiles不会运行,它必须持续运行。sleep是为了降低CPU使用率。在我尝试

windows-7 - sleep命令后唤醒windows系统的命令

我想从C#程序调用Windows命令提示符并使系统进入休眠状态,几秒钟后我应该唤醒系统。我成功地让系统进入休眠状态,但几秒钟后我无法将其唤醒。我尝试让它sleep和唤醒的命令是“powrprof.dll,SetSuspendState0,1,0&&timeout10&&echo“HelloWorld””。链接http://www.groovypost.com/howto/schedule-wake-sleep-windows-automatically/说echo会唤醒系统,但它不工作。 最佳答案 可以使用win32CreateWa

c++ - Sleep(x) 导致计算机进入休眠状态

这可能是迄今为止我在C++中遇到的最奇怪的事情之一:while(counter!=stop_value){//PartAstartingip.ki.wVk=VK_RETURN;ip.ki.dwFlags=0;SendInput(1,&ip,sizeof(INPUT));ip.ki.wVk=VK_RETURN;ip.ki.dwFlags=KEYEVENTF_KEYUP;SendInput(1,&ip,sizeof(INPUT));//PartAendingif(s==2)counter++;elsecounter--;cout每当我将“A部分”部分注释掉时,它都能正常工作;程序休眠i秒,

c++ - C++ 中的 Pause()、Sleep() 和 Wait() 有什么区别?

我一直在研究CS106B在斯坦福大学的类(class)中,在完成Boggle作业时,我注意到Windows上的Sleep()函数与Pause()函数的行为不同。出于测试目的,我简单地设置了电路板并使用提供的gboggle.h文件突出显示Boggle立方体,然后移除突出显示。以下是相关代码:for(introw=0;row如果我使用Pause(),立方体会突出显示,然后恢复正常。如果我使用Sleep()或Wait(),立方体永远不会突出显示,并且程序中的延迟甚至发生在画板之前,而不是发生在for循环之间。相关的Wait()函数:voidwait(intseconds){clock_ten

c - sleep |函数 `sleep' 的警告隐式声明?

我正在学习C。在这个节目中我使用sleep功能来减慢倒计时。我的教科书没有指定我应该包含的库来使用sleep功能。所以我使用它时没有为它包含任何特殊的库并且它可以工作。但它在代码块中给了我这条警告信息。我试图包括但仍然出现相同的警告消息。warningD:\Project\Clanguage\trial8\trial8.c|19|warning:implicitdeclarationoffunction`sleep'|这是我的代码。#includeintmain(){intstart;do{printf("Pleaseenterthenumbertostart\n");printf("

c# - 如何检查使用 SetThreadExecutionState 禁用 sleep 是否失败?

使用以下行禁用系统sleep时:SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS|EXECUTION_STATE.ES_AWAYMODE_REQUIRED);我怎么知道它有效?例如,在我的一台电脑上,它不起作用。计算机仍然进入休眠状态,但也不异常(exception)。如果没有异常,有没有其他方法可以知道调用SetThreadExecutionSTate失败了? 最佳答案 SetThreadExecutionState的返回值用于指示成功或失败。这在documentation

c++ - 为什么 Sleep() 会使后续代码减慢 40 毫秒?

我最初是在coderanch.com上询问过这个问题的,所以如果你试图在那里帮助我,谢谢,并且不要觉得有必要重复这项工作。不过,coderanch.com主要是一个Java社区,这似乎(经过一些研究)确实是一个Windows问题,所以我和那里的同事认为这可能是寻求帮助的更合适的地方。我编写了一个简短的程序,它要么在Windows性能计数器上旋转直到33毫秒过去,要么调用Sleep(33)。前者没有表现出意想不到的效果,但后者似乎(不一致地)将后续处理减慢了大约40毫秒(要么是这样,要么是对从性能计数器返回的值有一定影响)。自旋或Sleep()之后,程序调用例程runInPlace(),