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


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 Создает объект, который не заблокирован.
До Visual Studio 2022 17.10 реализация этого конструктора не была constexpr. Теперь это 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, поведение не определено.

См. также

Справочник по файлам заголовков
<mutex>