Пространства имён
Варианты
Действия

std::recursive_mutex

Материал из cppreference.com
< cpp‎ | thread

 
 
Библиотека поддержки конкуренции
Ветви
(C++11)
(C++20)
(C++20)
Пространство имён this_thread
(C++11)
(C++11)
(C++11)
Атомарные типы
(C++11)
(C++20)
Инициализация атомарных типов
(C++11)(устарело в C++20)
(C++11)(устарело в C++20)
(C++11)(устарело в C++20)
Функции освобождения для атомарных операций
Функции освобождения для атомарных флагов
Упорядочивание памяти
Взаимное исключение
(C++11)
recursive_mutex
(C++11)
Общее управление блокировкой
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
(C++11)
(C++11)
Условные переменные
(C++11)
Семафоры
За��ёлки и барьеры
(C++20)
(C++20)
Фьючерсы
(C++11)
(C++11)
(C++11)
(C++11)
 
std::recursive_mutex
Функции-члены
Блокировка
Оригинал:
Locking
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Родные ручки
Оригинал:
Native handle
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
 
Определено в заголовочном файле <mutex>
class recursive_mutex;
(начиная с C++11)
recursive_mutex класс примитив синхронизации, которые могут быть использованы для защиты общих данных от одновременного доступа нескольких потоков.
Оригинал:
The recursive_mutex class is a synchronization primitive that can be used to protect shared data from being simultaneously accessed by multiple threads.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
recursive_mutex предлагает эксклюзивные, рекурсивные семантику владения
Оригинал:
recursive_mutex offers exclusive, recursive ownership semantics:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
  • Вызывающий поток' владеет recursive_mutex за определенный период времени, который начинается, когда он успешно вызывает либо lock или try_lock. В течение этого периода, нить может сделать дополнительные вызовы lock или try_lock. Период владения заканчивается, когда поток делает соответствующую количество обращений к unlock.
    Оригинал:
    A calling thread owns a recursive_mutex for a period of time that starts when it successfully calls either lock or try_lock. During this period, the thread may make additional calls to lock or try_lock. The period of ownership ends when the thread makes a matching number of calls to unlock.
    Текст был переведён автоматически используя Переводчик Google.
    Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
  • Когда поток владеет recursive_mutex, все остальные потоки будут блокировать (для звонков в lock) или получать значение false возвращение (для try_lock), если они пытаются претендовать на владение recursive_mutex.
    Оригинал:
    When a thread owns a recursive_mutex, all other threads will block (for calls to lock) or receive a false return value (for try_lock) if they attempt to claim ownership of the recursive_mutex.
    Текст был переведён автоматически используя Переводчик Google.
    Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
  • Максимальное количество раз, что recursive_mutex может быть заблокирован не определен, но после этого число будет достигнуто, призывы к lock будет бросать std::system_error и призывает try_lock вернется false.
    Оригинал:
    The maximum number of times that a recursive_mutex may be locked is unspecified, but after that number is reached, calls to lock will throw std::system_error and calls to try_lock will return false.
    Текст был переведён автоматически используя Переводчик Google.
    Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Поведение программы не определено, если recursive_mutex разрушен в то время как до сих пор принадлежит какую-нить. recursive_mutex класс не является копируемой.
Оригинал:
The behavior of a program is undefined if a recursive_mutex is destroyed while still owned by some thread. The recursive_mutex class is non-copyable.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Типы-члены

Тип члена Определение
native_handle_type
Определяется реализацией
Оригинал:
implementation-defined
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Функции-члены

создаёт мьютекс
(public функция-элемент) [править]
Блокировка
Оригинал:
Locking
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
блокирует мьютекс, блокируется, если мьютекс недоступен
(public функция-элемент) [править]
пытается заблокировать мьютекс, возвращается, если мьютекс недоступен
(public функция-элемент) [править]
разблокирует мьютекс
(public функция-элемент) [править]
Родные ручки
Оригинал:
Native handle
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
возвращает базовый объект-дескриптор, определяемый реализацией
(public функция-элемент) [править]