Spec-Zone.ru › C++

std::shared_lock<Mutex>::try_lock

bool try_lock();
(since 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.

Пример

См. также

lock
блокирует связанный мьютекс
(публичный член-функция)
try_lock
пытается заблокировать (т.е. получить владение) связанный мьютекс без ожидания
(публичный член-функция std::unique_lock<Mutex>)
try_lock_for
пытается заблокировать связанный мьютекс на заданный промежуток времени
(публичный член-функция)
try_lock_until
пытается заблокировать связанный мьютекс до заданного момента времени
(публичный член-функция)
unlock
разблокирует связанный мьютекс
(публичный член-функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/thread/shared_lock/try_lock

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API