Класс timed_mutex

Представляет тип мьютекса с ограничением по времени. Используйте объекты этого типа для принудительного взаимного исключения с помощью ограниченной по времени блокировки в программе.

Синтаксис

class timed_mutex;

Участники

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

Имя Описание
timed_mutex Создает объект timed_mutex, который не заблокирован.
Деструктор timed_mutex::~timed_mutex Освобождает все ресурсы, используемые объектом timed_mutex.

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

Имя Описание
lock Блокирует вызывающий поток до тех пор, пока этот поток не получит права владельца объекта mutex.
try_lock Попытки получить права владельца объекта mutex без блокировки.
try_lock_for Пытается получить права владельца mutex на заданный интервал времени.
try_lock_until Пытается получить права владельца mutex до заданного времени.
unlock Освобождает права владения объектом mutex.

Требования

Заголовок:<mutex>

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

timed_mutex::lock

Блокирует вызывающий поток до тех пор, пока этот поток не получит права владельца объекта mutex.

void lock();

Замечания

Если вызывающий поток уже является владельцем mutex, поведение не определено.

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

Создает объект timed_mutex, который не заблокирован.

timed_mutex();

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

Освобождает все ресурсы, используемые объектом mutex.

~timed_mutex();

Замечания

Если при выполнении деструктора объект заблокирован, поведение не определено.

timed_mutex::try_lock

Попытки получить права владельца объекта mutex без блокировки.

bool try_lock();

Возвращаемое значение

Значение true, если метод успешно получает права владельца mutex; в противном случае — значение false.

Замечания

Если вызывающий поток уже является владельцем mutex, поведение не определено.

timed_mutex::try_lock_for

Попытки получить права владельца объекта mutex без блокировки.

template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);

Параметры

Rel_time
Объект chrono::duration, который указывает максимальный интервал времени, в течение которого метод пытается получить права владельца объекта mutex.

Возвращаемое значение

Значение true, если метод успешно получает права владельца mutex; в противном случае — значение false.

Замечания

Если вызывающий поток уже является владельцем mutex, поведение не определено.

timed_mutex::try_lock_until

Попытки получить права владельца объекта mutex без блокировки.

template <class Clock, class Duration>
bool try_lock_for(const chrono::time_point<Clock, Duration>& Abs_time);

bool try_lock_until(const xtime* Abs_time);

Параметры

Abs_time
Момент времени, определяющий порог, после которого метод больше не пытается получить права владельца объекта mutex.

Возвращаемое значение

Значение true, если метод успешно получает права владельца mutex; в противном случае — значение false.

Замечания

Если вызывающий поток уже является владельцем mutex, поведение не определено.

timed_mutex::разблокировка

Освобождает права владения объектом mutex.

void unlock();

Замечания

Если вызывающий поток не является владельцем mutex, поведение не определено.

См. также

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