std::shared_mutex::try_lock_shared
bool try_lock_shared(); | (начиная с C++17) |
Пытается заблокировать мьютекс в режиме совместного владения. Возвращает управление немедленно. При успешной блокировке возвращает true, в противном случае возвращает false.
Эта функция может завершиться неудачей без причины и вернуть false, даже если мьютекс в данный момент не заблокирован эксклюзивно ни одним другим потоком.
Предшествующая операция unlock() над тем же мьютексом синхронизируется с (как определено в std::memory_order) этой операцией, если она возвращает true.
Поведение не определено, если вызывающий поток уже владеет мьютексом в любом режиме.
Параметры
(нет)
Возвращаемое значение
true, если блокировка успешно установлена, в противном случае false.
Исключения
Ничего не выбрасывает.
Пример
См. также
| блокирует мьютекс; если мьютекс недоступен, ожидает (открытая функция-член) |
|
| пытается заблокировать мьютекс и возвращает управление, если мьютекс недоступен (открытая функция-член) |
|
| разблокирует мьютекс (совместное владение) (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/thread/shared_mutex/try_lock_shared