c++ - 为什么 "clock( )"的 CPU 使用率过高?

标签 c++ timer cpu

我正在尝试使用 clock() 方法创建一个简单的计时器。执行应用程序时,我的 CPU 使用率从 0% 跃升至 25%。对于一个简单的程序来说,除了在几秒钟内从 60 数到 0 什么都不做,这有点过分了。

我在关注这个:http://www.cplusplus.com/reference/clibrary/ctime/clock/

有什么原因吗?我可以使用任何替代方案吗?

最佳答案

参见:

http://msdn.microsoft.com/en-us/library/ms686298%28v=vs.85%29.aspx

您引用的代码:

 while (clock() < endwait) {}

显然会在等待时间过去时消耗 CPU,因此使用率为 25%(一个核心)。

while (clock() < endwait) { Sleep(1);}

应该可以解决您的问题。

关于c++ - 为什么 "clock( )"的 CPU 使用率过高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4846473/

相关文章:

javascript - 这个 javascript 函数中的 setInterval() 和clearInterval() 有什么问题吗?清除间隔返回未定义

C++20 在 g++10 : generator not defined

c++ - 如何让用户在 C++ 中输入多行字符串数据?

c++ - nm、objdump 和 pfunct 给出相互矛盾的答案来检查函数是否内联

javascript - CucumberJS - 错误 : Step timed out after 5000 milliseconds at Timer. listOnTimeout (timers.js:92:15)

python - Tensorflow 相同的代码,但从 CPU 设备到 GPU 设备得到不同的结果

c++ - 使用多路复用搜索 C/C++ 网络库

java - 每 x 秒执行一次代码

ffmpeg - 哪个库是更好的实时摄像机转码器? ffmpeg 与英特尔媒体 sdk

性能调控器不会将 CPU 频率锁定在最大值