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