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


SRWLock - класс

Представляет тонкую блокировку чтения и записи.

Синтаксис

class SRWLock;

Замечания

Блокировка тонкого чтения и записи используется для синхронизации доступа между потоками к объекту или ресурсу. Дополнительные сведения см. в разделе "Функции синхронизации".

Участники

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

Имя Описание
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::Оболочки

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 состояние которого недопустимо.