std::shared_lock<Mutex>::try_lock
bool try_lock(); | (начиная с C++14) |
Пытается заблокировать связанный мьютекс в режиме совместного доступа без блокировки вызывающего потока. Фактически вызывает mutex()->try_lock_shared().
Выбрасывается std::system_error, если связанный мьютекс отсутствует или уже заблокирован.
Параметры
(нет)
Возвращаемое значение
true, если владение мьютексом было успешно получено, иначе false.
Исключения
- Любые исключения, выброшенные
mutex()->try_lock_shared(). - Если связанный мьютекс отсутствует,
std::system_errorс кодом ошибкиstd::errc::operation_not_permitted. - Если мьютекс уже заблокирован,
std::system_errorс кодом ошибкиstd::errc::resource_deadlock_would_occur.
Пример
См. также
| блокирует связанный мьютекс (открытая функция-член) |
|
| пытается заблокировать связанный мьютекс (то есть получить владение им) без блокировки вызывающего потока (открытая функция-член std::unique_lock<Mutex>) |
|
| пытается заблокировать связанный мьютекс на указанный промежуток времени (открытая функция-член) |
|
| пытается заблокировать связанный мьютекс до указанного момента времени (открытая функция-член) |
|
| разблокирует связанный мьютекс (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/thread/shared_lock/try_lock