mutex
class (стандартная библиотека C++)
Представляет тип мьютекса. Используйте объекты этого типа для принудительного взаимного исключения в программе.
Синтаксис
class mutex;
Участники
Открытый конструктор или деструктор
Имя | Описание |
---|---|
mutex |
Формирует объект mutex . |
~mutex |
Освобождает ресурсы, используемые объектом mutex . |
Открытые методы
Имя | Описание |
---|---|
lock |
Блокирует вызывающий поток до тех пор, пока этот поток не получит права владельца объекта mutex . |
native_handle |
Возвращает тип реализации, представляющий дескриптор мьютекса. |
try_lock |
Попытки получить права владельца объекта mutex без блокировки. |
unlock |
Освобождает права владения объектом mutex . |
Требования
Заголовок.<mutex>
Пространство именstd
:
lock
Блокирует вызывающий поток до тех пор, пока этот поток не получит права владельца объекта mutex
.
void lock();
Замечания
Если вызывающий поток уже является владельцем mutex
, поведение не определено.
Конструктор
mutex
Создает объект, который не заблокирован.
Реализация этого конструктора майкрософт не constexpr
является.
mutex() noexcept;
Деструктор
Освобождает все ресурсы, используемые объектом mutex
.
~mutex();
Замечания
Если при выполнении деструктора объект заблокирован, поведение не определено.
native_handle
Возвращает тип реализации, представляющий дескриптор мьютекса. Дескриптор мьютекса может использоваться разными способами в зависимости от реализации.
native_handle_type native_handle();
Возвращаемое значение
native_handle_type
определяется как Concurrency::critical_section *
, которое приводится к void *
.
try_lock
Попытки получить права владельца объекта mutex
без блокировки.
bool try_lock();
Возвращаемое значение
Значение true
, если метод успешно получает права владельца mutex
; в противном случае — значение false
.
Замечания
Если вызывающий поток уже является владельцем mutex
, поведение не определено.
unlock
Освобождает права владения объектом mutex
.
void unlock();
Замечания
Если вызывающий поток не владеет mutex
, поведение не определено.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по