在C窗口等待时间没有忙等待

Mic*_*ael 1 c c++ windows

我有一个线程,其工作是向UDP对等体发送消息.线程发送消息iff以下适用之一:

1)自上次发送消息(如超时)以来已经过了一定时间.

2)其他线程引发了共享结构中的更新布尔标志.

我希望能够等待这些条件发生,所以我知道何时发送消息.

我能做到的最简单的方法是制作一个循环,重复直到其中一个条件满足.我担心它正在忙着等待,并且会消耗大量的CPU时间.我也不想睡觉().

我不介意使用C++解决方案,只要它易于理解和实现,因为我对C++不是很熟悉.

谢谢 !

Eri*_*rik 10

对于Windows,使用event(CreateEvent)而不是bool,然后WaitForSingleObject使用它.