Spec-Zone.ru › C++

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.

Исключения

Не выбрасывает исключений.

Пример

См. также

lock
блокирует мьютекс; если мьютекс недоступен, ожидает
(открытая функция-член)
try_lock_for
пытается заблокировать мьютекс и возвращает управление, если мьютекс был
недоступен в течение указанного времени ожидания
(открытая функция-член)
try_lock_until
пытается заблокировать мьютекс и возвращает управление, если мьютекс был
недоступен до наступления указанного момента времени
(открытая функция-член)
unlock
разблокирует мьютекс
(открытая функция-член)
Документация по C для mtx_trylock

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

Spec-Zone.ru

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