Многообъектные функции ожидания
Функции WaitForMultipleObjects, WaitForMultipleObjectsEx, MsgWaitForMultipleObjects и MsgWaitForMultipleObjectsEx дают возможность вызывающему потоку установить массив, содержащий один или несколько дескрипторов объектов синхронизации. Эти функции возвращают значение тогда, когда происходит одно из ниже перечисленного:
Функция MsgWaitForMultipleObjects и MsgWaitForMultipleObjectsEx дает возможность устанавливать в массиве дескрипторов объектов события ввода данных объектов. Это делается затем, чтобы Вы установили тип ввода данных, ожидающих в очереди ввода данных потока.
Например, поток может использовать функцию MsgWaitForMultipleObjects, чтобы блокировать исполнение своего кода до тех пор, пока состояние заданного объекта не установится в сигнальное и имеется ввод данных от мыши, доступный в очереди ввода данных потока. Поток может использовать функцию GetMessage или PeekMessage, чтобы извлечь ввод данных.
Когда состояния ожидания всех объектов устанавливаться в сигнальное, эти многообъектные функции не изменяют состояние заданных объектов до тех пор, пока состояния всех объектов не установится в сигнальное. Например, состояние объекта типа мьютекс может быть сигнальным, но вызывающий поток не получает монопольного использования до тех пор, пока состояние остальных объектов, определенных в массиве также не установяться в сигнальное. Тем временем, какой-либо другой поток может получить в монопольное использование объект типа мьютекс, таким образом устанавливая его в несигнальное состояние.
Назад в оглавление темы |
На главную страницу темы |