【发布时间】:2011-04-16 14:07:13
【问题描述】:
Windows 中的 Sleep(ms) 命令导致线程释放它们的时间片。是否有等效的 Sleep(ms) 命令可以暂停线程但不释放时间片?
【问题讨论】:
-
为什么要忙着等待?
-
@Erik,有问题的线程正在控制一个硬件。如果它尝试发送两个连续的命令,而命令之间没有等待至少 500 毫秒,则该命令不会注册。
-
@rossb83:那为什么需要你避免
Sleep? -
@Erik 因为睡眠结束后,线程需要很长时间才能恢复其时间片。其他线程正在执行非常密集的计算。
-
@rossb83: 给这个线程尽可能高的优先级,而其他线程的优先级较低。然后使用睡眠。
标签: c++ windows thread-sleep