Класс CMultiLock
Класс представляет механизм контроля доступа к ресурсам в многопоточных программах.
class CMultiLock
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект CMultiLock. |
Открытые методы
Имя |
Описание |
---|---|
Определяет, если определенный объект синхронизации в массиве блокирована. |
|
Ожидания в массиве объектов синхронизации. |
|
Освобождает все объекты, принадлежащие синхронизации. |
Заметки
CMultiLock не имеет базовый класс.
Для использования классов CSemaphore синхронизации, CMutex и CEvent можно создать или CMultiLock или объект CSingleLock ожидания в on и освобождение объекта синхронизации. Используйте CMultiLock если несколько объектов, которые можно использовать в указанное время. Используйте CSingleLock обрабатывается при необходимости дожидаться в одном объекте.
Чтобы использовать объект CMultiLock , сначала создайте массив синхронизации возражает, что необходимо дождаться on. Затем вызовите конструктор объекта CMultiLock в функцию-член управляемого ресурса в классе. Затем вызовите функцию-член блокировка для определения если ресурс доступен (просигнализированный). Если таковой, то продолжите с остатком функции-члена. Если ресурс недоступен или подождите указанное время для ресурса должен освобождаться и возвращает ошибку. После завершения использования ресурса любой вызов функции Unlock, если объект CMultiLock использоваться повторно или позволяет объекту CMultiLock , который необходимо удалить.
Объекты CMultiLock наиболее полезным, когда поток имеет большое количество объектов CEvent он может отвечать. Создайте массив, содержащий все указатели CEvent и вызовите Lock. Это приведет к потоку ожидать, пока не произойдет одно из событий посылается сигнал.
Дополнительные сведения о том, как использовать объекты CMultiLock см. в статье Многопоточность. Использование классов синхронизации.
Иерархия наследования
CMultiLock
Требования
Header: afxmt.h