为已经发出信号的事件等待singleobject
waitforsingleobject for an already signaled event
我做WaitForSingleObject(handle, timeout);
如果在调用WaitForSingleObject
之前句柄已经发出信号,函数将返回什么?
我认为它应该立即返回一个WAIT_OBJECT_0
…但是在我的例子中,它等待事件设置,由于没有发生(事件已经设置),它超时。
请建议。
视事件而定。对于手动重置事件,您所期望的是正确的,而自动重置事件不会保持信号状态:事件对象(Windows)。
自动复位事件事件对象的状态保持为信号状态,直到事件发生单个等待线程被释放,此时系统自动设置状态为非信号。
如果没有线程在等待,事件对象的状态保持为有信号状态。如果有多个线程正在等待,则选择一个等待线程。做不采用先进先出(FIFO)顺序。外部事件,例如内核模式apc可以改变等待顺序。
相关文章:
- 等待 WaitForMultipleObjects 窗口中的事件数量可变
- 一个线程等待多个线程事件
- C++11 - 可以等待多个不同事件的线程?
- 如何等待密钥事件,直到进程在 QT 中完成
- 了解如何在不冻结事件循环的情况下在 QThread 中休眠/等待
- 等待事件循环为空 /等到QT5小部件关闭
- 如何在C 中等待一组线程或其他事件
- Windows C++ UWP:等待 XX 毫秒,直到事件发生
- 在C++中等待带有OpenEvent方法的事件的正确方法是什么
- 我可以在 QP(量子平台)活动对象中等待 Windows 事件(WaitForMultipleObjects)吗?
- 我可以在事件和具有输入的IOCompletionPort上等待MultipleObjects吗
- 如何同时等待 I/O 完成端口和事件
- 如何使我的C++程序永远等待传感器事件而不终止
- Qt创建一个等待网络事件的对话框
- 快板:为什么要等待一个事件或直到60毫秒结束
- 使用boost::asio和strands的事件队列:等待新事件
- 内核没有'不要等待事件的发生
- 等待句柄/事件异步或回调在同一线程内
- 等待事件关闭窗口
- 为已经发出信号的事件等待singleobject