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


Класс reader_writer_lock

Блокировка чтения-записи на основе очереди с предпочтением записи со строго локальной циклической работой. Блокировка предоставляет доступ "первым вошел — первым вышел" для писателей и исключает доступ читателей под постоянной нагрузкой со стороны писателей.

class reader_writer_lock;

Члены

Общие классы

Имя

Описание

Класс reader_writer_lock::scoped_lock

Безопасная в отношении исключений оболочка RAII, используемая для получения объектов блокировки reader_writer_lock как записывающих.

Класс reader_writer_lock::scoped_lock_read

Безопасная в отношении исключений оболочка RAII, используемая для получения объектов блокировки reader_writer_lock как читателя.

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

Имя

Описание

Конструктор reader_writer_lock::reader_writer_lock

Создает новый объект reader_writer_lock.

Деструктор reader_writer_lock::~reader_writer_lock

Уничтожает объект reader_writer_lock.

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

Имя

Описание

Метод reader_writer_lock::lock

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

Метод reader_writer_lock::lock_read

Получает блокировку чтения-записи в качестве читателя. Если есть писатели, активные читатели должны подождать, пока они выполняются. Средство чтения просто регистрирует интерес в блокировке и ожидает, когда записыватели освободят ее.

Метод reader_writer_lock::try_lock

Пытается получить блокировку чтения-записи в качестве писателя без блокирования.

Метод reader_writer_lock::try_lock_read

Пытается получить блокировку чтения-записи в качестве читателя без блокирования.

Метод reader_writer_lock::unlock

Разблокирует блокировки чтения-записи в зависимости от того, кто заблокировал, средство чтения или записи.

Заметки

Дополнительные сведения см. в разделе Структуры данных синхронизации.

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

reader_writer_lock

Требования

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

Пространство имен: Concurrency

См. также

Ссылки

Пространство имен Concurrency

Класс critical_section