6

我希望当前线程在给定时间内休眠。但是,另一个线程应该能够中断它并提早唤醒它。sleep在 unix 中,使用+相当简单pthread_kill。在 Windows 中有SleepExSleepConditionVariableCS。SleepEx 似乎实际上并没有导致线程睡眠,因为它仍在处理事件,那么在条件变量上睡眠会是更好的解决方案吗?此外,我还不清楚如何唤醒使用 SleepEx 休眠的线程。这个问题的正确解决方案是什么,SleepEx或者SleepConditionVariableCS?(另外,你能指出如何唤醒一个正在睡觉的线程SleepEx吗?MSDN 文档非常混乱。

4

1 回答 1

13

创建一个手动重置事件并等待它WaitForSingleObject- 有一个超时参数。有关详细信息,请参阅 MSDN。

于 2013-01-26T16:52:24.110 回答