SRWLock 类

表示精简读取器/编写器锁定。

语法

class SRWLock;

备注

精简读取器/编写器锁定用于同步对某个对象或资源的跨线程的访问。 有关详细信息,请参阅同步函数

成员

公共 Typedef

名称 描述
SyncLockExclusive 以独占模式获取的 SRWLock 对象的同义词。
SyncLockShared 以共享模式获取的 SRWLock 对象的同义词。

公共构造函数

名称 描述
SRWLock::SRWLock 初始化 SRWLock 类的新实例。
SRWLock::~SRWLock 取消初始化 SRWLock 类的实例。

公共方法

名称 描述
SRWLock::LockExclusive 以独占模式获取 SRWLock 对象。
SRWLock::LockShared 以共享模式获取 SRWLock 对象。
SRWLock::TryLockExclusive 尝试以独占模式为当前或指定 SRWLock 对象获取 SRWLock 对象。
SRWLock::TryLockShared 尝试以共享模式为当前或指定 SRWLock 对象获取 SRWLock 对象。

受保护的数据成员

名称 描述
SRWLock::SRWLock_ 包含当前 SRWLock 对象的基础锁定变量。

继承层次结构

SRWLock

要求

标头:corewrappers.h

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

SRWLock::~SRWLock

取消初始化 SRWLock 类的实例。

~SRWLock();

SRWLock::LockExclusive

以独占模式获取 SRWLock 对象。

SyncLockExclusive LockExclusive();

static SyncLockExclusive LockExclusive(
   _In_ SRWLOCK* lock
);

参数

lock
指向 SRWLock 对象的指针。

返回值

独占模式下的 SRWLock 对象。

SRWLock::LockShared

以共享模式获取 SRWLock 对象。

SyncLockShared LockShared();

static SyncLockShared LockShared(
   _In_ SRWLOCK* lock
);

参数

lock
指向 SRWLock 对象的指针。

返回值

共享模式下的 SRWLock 对象。

SRWLock::SRWLock

初始化 SRWLock 类的新实例。

SRWLock();

SRWLock::SRWLock_

包含当前 SRWLock 对象的基础锁定变量。

SRWLOCK SRWLock_;

SRWLock::TryLockExclusive

尝试以独占模式为当前或指定 SRWLock 对象获取 SRWLock 对象。 如果调用成功,调用线程将获取锁定的所有权。

SyncLockExclusive TryLockExclusive();

static SyncLockExclusive TryLockExclusive(
   _In_ SRWLOCK* lock
);

参数

lock
指向 SRWLock 对象的指针。

返回值

如果成功,则为独占模式下的 SRWLock 对象,并且调用线程将获得锁定的所有权。 否则为状态无效的 SRWLock 对象。

SRWLock::TryLockShared

尝试以共享模式为当前或指定 SRWLock 对象获取 SRWLock 对象。

WRL_NOTHROW SyncLockShared TryLockShared();
WRL_NOTHROW static SyncLockShared TryLockShared(
   _In_ SRWLOCK* lock
);

参数

lock
指向 SRWLock 对象的指针。

返回值

如果成功,则为共享模式下的 SRWLock 对象,并且调用线程将获得锁定的所有权。 否则为状态无效的 SRWLock 对象。