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


Класс Semaphore

Представляет объект синхронизации, который управляет общим ресурсом и поддерживает ограниченное число пользователей.

Синтаксис

class Semaphore : public HandleT<HandleTraits::SemaphoreTraits>;

Участники

Общедоступные определения типов

Имя Описание
SyncLock Синоним класса, поддерживающего синхронные блокировки.

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

Имя Описание
Семафор::Семафор Инициализирует новый экземпляр класса Semaphore.

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

Имя Описание
Семафор::Lock Ожидает, пока текущий объект или объект, связанный с указанным дескриптором, находится в сигнальном состоянии или указанный интервал времени ожидания истек.

Открытые операторы

Имя Описание
Семафор::operator= Перемещает указанный Semaphore дескриптор из объекта в текущий Semaphore объект.

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

Semaphore

Требования

Заголовок: corewrappers.h

Пространство имен: Microsoft::WRL::Оболочки

Семафор::Lock

Ожидает, пока текущий объект или объект, связанный с указанным дескриптором, находится в сигнальном состоянии или Semaphore указанный интервал времени ожидания истек.

SyncLock Lock(
   DWORD milliseconds = INFINITE
);

static SyncLock Lock(
   HANDLE h,
   DWORD milliseconds = INFINITE
);

Параметры

milliseconds
Интервал времени ожидания в миллисекундах. Значение по умолчанию равно INFINITE, что означает неограниченное время ожидания.

ч
Дескриптор Semaphore объекта.

Возвращаемое значение

Выполнение команды Details::SyncLockWithStatusT<HandleTraits::SemaphoreTraits>

Семафор::operator=

Перемещает указанный Semaphore дескриптор из объекта в текущий Semaphore объект.

Semaphore& operator=(
   _Inout_ Semaphore&& h
);

Параметры

ч
Ссылка на Rvalue к объекту Semaphore .

Возвращаемое значение

Ссылка на текущий Semaphore объект.

Семафор::Семафор

Инициализирует новый экземпляр класса Semaphore.

explicit Semaphore(
   HANDLE h
);

WRL_NOTHROW Semaphore(
   _Inout_ Semaphore&& h
);

Параметры

ч
Дескриптор или ссылка rvalue-reference на Semaphore объект.