Spec-Zone.ru › C++

std::shared_timed_mutex::try_lock

bool try_lock();
(с C++14)

Пытается заблокировать мьютекс. Возвращает значение немедленно. При успешном получении блокировки возвращает true, в противном случае возвращает false.

Этой функции разрешается возвращать false даже если мьютекс не заблокирован ни одной другой нитью.

Если try_lock вызывается нитью, которая уже владеет mutex в любом режиме (совместном или эксклюзивном), поведение не определено.

Предыдущая операция unlock() над тем же мьютексом синхронизируется с (как определено в std::memory_order) этой операцией, если она возвращает true. Обратите внимание, что предыдущая операция lock() не синхронизируется с этой операцией, если она возвращает false.

Параметры

(нет)

Значение возврата

true если блокировка была успешно получена, в противном случае false.

Исключения

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

Пример

См. также

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

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

Spec-Zone.ru

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