Semaphore 类

表示控制可支持有限数量用户的共享资源的同步对象。

语法

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

成员

公共 Typedef

名称 描述
SyncLock 支持同步锁的类的同义词。

公共构造函数

名称 描述
Semaphore::Semaphore 初始化 Semaphore 类的新实例。

公共方法

名称 描述
Semaphore::Lock 一直等到当前对象或与指定句柄关联的 对象处于已发出信号状态或指定超时间隔已过去。

公共运算符

“属性” 描述
Semaphore::operator= 将指定句柄从 Semaphore 对象移动到当前的 Semaphore 对象。

继承层次结构

Semaphore

要求

标头:corewrappers.h

命名空间:Microsoft::WRL::Wrappers

Semaphore::Lock

一直等到当前对象或与指定句柄关联的 Semaphore 对象处于已发出信号状态或指定超时间隔已过去。

SyncLock Lock(
   DWORD milliseconds = INFINITE
);

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

参数

milliseconds
超时间隔(以毫秒为单位)。 默认值为 INFINITE,其表示将无限期地等待。

h
Semaphore 对象的句柄。

返回值

一个 Details::SyncLockWithStatusT<HandleTraits::SemaphoreTraits> 类型的值

Semaphore::operator=

将指定句柄从 Semaphore 对象移动到当前的 Semaphore 对象。

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

参数

h
Semaphore 对象的 Rvalue 引用。

返回值

对当前 Semaphore 对象的引用。

Semaphore::Semaphore

初始化 Semaphore 类的新实例。

explicit Semaphore(
   HANDLE h
);

WRL_NOTHROW Semaphore(
   _Inout_ Semaphore&& h
);

参数

h
Semaphore 对象的句柄或 rvalue 引用。