我想在 Windows 上使用 C++ 和 msvc2010 编写一个小的警报计时器。计时器需要在几分钟后触发状态消息。我知道如何使用 C++ 检查系统时间,我知道 Windows api 中有 sleep 功能。我怎样才能实现一个CPU负载很小的定时器?例如,我不想每隔几毫秒检查一次系统时间以在达到触发时间时触发状态消息。当在额外的线程中使用诸如 sleep(600000) 之类的东西时,我是否会创建 cpu 负载,或者是否有更有效的方法来等待几分钟并在之后执行一些代码?
最佳答案
您确实可以忙等待并轮询时间。即使是 Sleep(1)
也足以让您的程序几乎无法测量。
我过去常常这样做,即使在我的 PII 233 Mhz 上运行多个线程,这样做也几乎不会降低 CPU 使用率。
关于c++警报计时器,CPU负载很小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15451827/