gpt4 book ai didi

windows - WaitForMultipleObjects() 是否重置所有自动重置事件?

转载 作者:可可西里 更新时间:2023-11-01 13:26:20 26 4
gpt4 key购买 nike

我有一个事件循环正在等待几个自动重置事件。使用 CreateEvent(NULL, false, false, NULL) 将事件全部初始化为数组 eventHandles_

while (true)
{
DWORD waitResult = WaitForMultipleObjects(3, eventHandles_, false, INFINITE);
switch (waitResult)
{
case WAIT_OBJECT_0 + 0:
//handle event...

case WAIT_OBJECT_0 + 1:
//handle event...

case WAIT_OBJECT_0 + 2:
//handle event...
}
}

我的问题:如果事件 1 和 2 同时发生,循环将处理 WAIT_OBJECT_0 + 1,因为它是第一个。但是,当循环再次出现时,事件 2 是否仍会发出信号?还是会自动重置?

最佳答案

“...修改仅针对其信号状态导致函数返回的对象或对象发生...”

http://msdn.microsoft.com/en-us/library/windows/desktop/ms687025(v=vs.85).aspx

从一个人的口中 Raymond Chen :

If waiting for one event, then only that event is modified. If waiting for all events, then all are modified. That's what the documentation means by "object or objects". Singular if wait-any, plural if wait-all.

关于windows - WaitForMultipleObjects() 是否重置所有自动重置事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9776218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com