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.
Исключения
Не выбрасывает ничего.
Пример
См. также
| блокирует мьютекс, блокируется, если мьютекс недоступен (публичный метод-член) |
|
| пытается заблокировать мьютекс, возвращает значение, если мьютекс был недоступен в течение указанного срока ожидания (публичный метод-член) |
|
| пытается заблокировать мьютекс, возвращает значение, если мьютекс был недоступен до достижения указанной временной точки (публичный метод-член) |
|
| разблокирует мьютекс (публичный метод-член) |
|
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