c - C中的非阻塞 sleep 定时器

标签 c windows winapi timer

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

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

我还希望它不消耗系统资源,就像我的 sleep 计时器一样,它不使用任何我满意的 CPU 或系统资源。

那么,我可以使用的最佳非阻塞 sleep 定时器是什么?并请附上如何使用它的示例。

谢谢。

最佳答案

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

一个简单的就是这个。

你可以有多个线程,一个是Manager Thread,另一个是Worker Threads。 每隔 10 秒,管理线程将唤醒创建一个新的工作线程并进入休眠状态。 即使管理器处于休眠状态,工作线程也会继续工作,并且您具有非阻塞效果。

我不知道你对线程有多熟悉,但这是一个非常非常基本的 tutorial ,这可能会让你开始这个。

关于c - C中的非阻塞 sleep 定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7771142/

相关文章:

c - 在 C 中接受任何数字类型的函数

c - 在 C 中使用宏和 # 运算符打印空格

c - 我不知道前后增量

c++ - 为什么 "long *"和 "int *"在 32 位代码中不兼容?

java - ServerSocket,Tomcat 作为服务和端口

c++ - 我们可以使用 Qt(64) 生成一个可以在 32 位窗口和 64 位窗口上运行的应用程序吗?

windows - 使用批处理脚本查找和删除驱动器上每个文件夹中的 desktop.ini 文件

c++ - 使用CodeBlocks编译64位DLL会导致链接器错误

c++ - 获取特定进程的线程句柄/id

windows - VB.NET - 检查 Windows 许可证状态或正版 Windows