Многообъектные функции ожидания


Функции WaitForMultipleObjects, WaitForMultipleObjectsEx, MsgWaitForMultipleObjects и  MsgWaitForMultipleObjectsEx дают возможность вызывающему потоку установить массив, содержащий один или несколько дескрипторов объектов синхронизации. Эти функции возвращают значение тогда, когда происходит одно из ниже перечисленного:

Функция MsgWaitForMultipleObjects и MsgWaitForMultipleObjectsEx дает возможность  устанавливать в массиве дескрипторов объектов события ввода данных объектов. Это делается затем, чтобы Вы установили тип ввода данных, ожидающих в очереди ввода данных потока.

Например, поток может использовать функцию MsgWaitForMultipleObjects, чтобы блокировать исполнение своего кода до тех пор, пока состояние заданного объекта не установится в сигнальное и имеется ввод данных от мыши, доступный в очереди ввода данных потока. Поток может использовать функцию GetMessage или PeekMessage, чтобы извлечь  ввод данных.

Когда состояния ожидания всех объектов устанавливаться в сигнальное, эти многообъектные функции не изменяют состояние заданных объектов до тех пор, пока состояния всех объектов не установится в сигнальное. Например, состояние объекта типа мьютекс может быть сигнальным, но вызывающий поток не получает монопольного использования до тех пор, пока состояние остальных объектов, определенных в массиве также не установяться в сигнальное. Тем временем, какой-либо другой поток может получить в монопольное использование объект типа мьютекс, таким образом устанавливая его в несигнальное состояние.

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz