C中的非阻塞睡眠定时器

lua*_*der 6 c windows winapi timer

我正在为 Windows 寻找一个很好的非阻塞睡眠定时器。

目前我正在使用sleep(10);这当然是一个阻塞计时器。

此外,我希望它不消耗系统资源,就像我的睡眠定时器一样,它不使用任何我满意的 CPU 或系统资源。

那么,我可以使用的最好的非阻塞睡眠定时器是什么?并请附上一个如何使用它的例子。

谢谢。

ani*_*haw 6

您不需要 API 来更改您的设计。

一个简单的就是这样。

你可以有多个线程,一个是管理线程,另一个是工作线程。每 10 秒管理器线程就会醒来创建一个新的工作线程并进入睡眠状态。即使管理器处于睡眠状态,工作线程也会继续工作,这样您就具有非阻塞效果。

我不知道您对线程有多熟悉,但这里有一个非常非常基础的教程,可能会帮助您开始使用线程。