Поделиться через


Класс CMultiLock

Класс представляет механизм контроля доступа к ресурсам в многопоточных программах.

class CMultiLock

Члены

Открытые конструкторы

Имя

Описание

CMultiLock::CMultiLock

Создает объект CMultiLock.

Открытые методы

Имя

Описание

CMultiLock::IsLocked

Определяет, если определенный объект синхронизации в массиве блокирована.

CMultiLock::Lock

Ожидания в массиве объектов синхронизации.

CMultiLock::Unlock

Освобождает все объекты, принадлежащие синхронизации.

Заметки

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

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

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

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

Дополнительные сведения о том, как использовать объекты CMultiLock см. в статье Многопоточность. Использование классов синхронизации.

Иерархия наследования

CMultiLock

Требования

Header: afxmt.h

См. также

Ссылки

Диаграмма иерархии