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/cpp/thread/recursive_timed_mutex/unlock

Spec-Zone.ru

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