Метод event::wait_for_multiple
Ожидает, пока несколько событий перейдут в сигнальное состояние.
static size_t __cdecl wait_for_multiple(
_In_reads_(_Count) event ** _PPEvents,
size_t _Count,
bool _FWaitAll,
unsigned int _Timeout = COOPERATIVE_TIMEOUT_INFINITE
);
Параметры
_PPEvents
Массив событий для ожидания. Количество событий в массиве указывается параметром _Count._Count
Счетчик событий в массиве, предоставленный в параметре _PPEvents._FWaitAll
Если присвоено значение true, параметр указывает, что все события в массиве, указанном в параметре _PPEvents должны принимать сигнал, чтобы удовлетворить ожидание. Если присвоено значение false, он указывает, что любое событие в массиве, указанном в параметре _PPEvents, принявшее сигнал, будет удовлетворять ожидание._Timeout
Указывает количество миллисекунд времени ожидания. Значение COOPERATIVE_TIMEOUT_INFINITE означает, что время ожидания не истекает.
Возвращаемое значение
Если было выполнено ожидания, индекс в массиве, предоставленном в параметре _PPEvents, которой удовлетворил условия ожидания;в противном случае — значение COOPERATIVE_WAIT_TIMEOUT для указания, что истекло время ожидания без удовлетворения условия.
Заметки
Если параметру _FWaitAll присвоено значение true для указания, что все события должны принять сигнал, чтобы удовлетворить ожидания, возвращаемый функцией индекс не переносит специального значения, кроме того факта, что он не является значением COOPERATIVE_WAIT_TIMEOUT.
Важно!
В приложении Магазин Windows, не следует вызывать wait_for_multiple в потоке ASTA, потому что вызов может блокировать текущий поток и сделать его неоткликающимся.
Требования
Заголовок: concrt.h
Пространство имен: concurrency