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