Spec-Zone.ru › C++

std::recursive_timed_mutex::unlock

void unlock();
(с C++11)

Разблокирует мьютекс, если его уровень владения 1 (было ровно на один вызов больше lock() чем вызовов unlock() в этом потоке), в противном случае уменьшает уровень владения на 1.

Мьютекс должен быть заблокирован текущим потоком выполнения, в противном случае поведение не определено.

Эта операция синхронизирована (как определено в std::memory_order) с любой последующей операцией блокировки, которая получает владение тем же мьютексом.

Параметры

(нет)

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

(нет)

Исключение

Не выбрасывает ничего.

Примечания

unlock() обычно не вызывается напрямую: std::unique_lock и std::lock_guard используются для управления взаимной блокировкой.

Пример

См. также

lock
блокирует мьютекс, блокируется, если мьютекс недоступен
(общедоступный член-функция)
try_lock
пытается заблокировать мьютекс, возвращается, если мьютекс недоступен
(общедоступный член-функция)
try_lock_for
пытается заблокировать мьютекс, возвращается, если мьютекс был
недоступен в течение заданного времени ожидания
(общедоступный член-функция)
try_lock_until
пытается заблокировать мьютекс, возвращается, если мьютекс был
недоступен до тех пор, пока не будет достигнута указанная точка во времени
(общедоступный член-функция)
Документация на C для mtx_unlock

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/thread/recursive_timed_mutex/unlock

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API