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 引用。