CMultiLock

CMultiLock не имеет базовый класс.

Объект класса CMultiLock представляет собой механизм контроля доступа, используемый в Управление доступом к ресурсам в многопоточных программах. Чтобы использовать синхронизацию классов CSemaphore, CMutexи CEvent, можно создать CMultiLock или CSingleLock объект ожидание и освободить объект синхронизации. Используйте CMultiLock , когда несколько объектов, которые можно было использовать в определенное время. Использовать CSingleLock , когда нужно только подождать на один объект, в то время.

Чтобы использовать объект CMultiLock , сначала создайте массив объектов синхронизации, которые вы хотите ждать на. Затем вызовите конструктор объекта CMultiLock внутри функции-члена в классе управляемый ресурс. Затем вызовите функцию-член Lock для определения, если ресурс доступен (сигнал). Если он, по-прежнему остальные функции-члена. Если ресурса не доступен, ожидать указанное количество времени для ресурса будет выпущен или возвращать сбой. После завершения использования ресурса вызвать функцию разблокировать , если должен использоваться снова CMultiLock объект, либо позволить CMultiLock объект уничтожается.

CMultiLock объекты являются наиболее полезными, когда поток имеет большое количество объектов CEvent , которое он может реагировать. Создайте массив, содержащий все указатели CEvent и вызовите блокировки. Это приведет к потоку ожидать до тех пор, пока одно из событий получает сигнал.

Для получения дополнительных сведений о том, как использовать объекты CMultiLock , см. статью Многопоточность: как использовать классы синхронизации в Руководстве по Visual C++ программист.

# include lt;afxmt.h>

Члены классаИерархическая схема

Index