Comportamento de WaitForMultipleObjects quando vários identificadores de sinal ao mesmo tempo
Given: preencho uma matriz de identificadores com eventos de redefinição automática e transmito para WaitForMultipleObjects com bWaitAll = FALS
Do MSDN: “Quando bWaitAll é FALSE, essa função verifica as alças na matriz em ordem começando no índice 0, até que um dos objetos seja sinalizado. Se vários objetos forem sinalizados, a função retornará o índice do primeiro identificador na matriz cujo objeto foi sinalizado. ”
Então, agora, se vários objetos sinalizarem, receberei o índice do primeiro. Preciso fazer um loop na minha matriz para ver se outras pessoas sinalizaram?
gora, eu tenho um loop ao longo das linhas de:
For ( ; ; )
{
WaitForMultipleObjects(…)
If (not failed)
Process object that called.
Remove the handle that signaled from the array.
Compact the arrary.
}