https://blog.csdn.net/sac761/article/details/52456385?ops_request_misc=&request_id=&biz_id=102&utm_term=WaitForMultipleObjects&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-52456385
上面链接是我一个感觉说的比较方便理解的博客,下面加上对于单个触发条件的用法
nIndex = WaitForMultipleObjects(10, hCommandArray, FALSE, INFINITE);
switch (nIndex - WAIT_OBJECT_0)
{
case 1:{····}
case2:{······}
······
}
nIndex用于接收返回值,nIndex - WAIT_OBJECT_0 + 1计算到底是哪一种情况
bWaitAll 为第三个参数
如果因时间终了而返回,那返回值是WAIT_TIMEOUT
如果bWaitAll是TRUE,那么返回值是WAIT_OBJECT_0
如果bWaitAll是FALSE,那么返回值减去WAIT_OBJECT_0,就表示哪一个handle被激发了
如果函数失败,则返回WAIT_FAILD,这时候你可以用GetLastError()找出失败原因