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/cpp/thread/shared_timed_mutex/try_lock