std::shared_mutex::try_lock
bool try_lock(); | (с C++17) |
Пытается заблокировать мьютекс. Возвращает результат немедленно. При успешном получении блокировки возвращает 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_mutex/try_lock