Namespaces
Variants

std::shared_timed_mutex:: try_lock_shared

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
bool try_lock_shared ( ) ;
(начиная с C++14)

Пытается захватить мьютекс в режиме разделяемого доступа. Возвращает управление немедленно. При успешном захвате возвращает true , в противном случае возвращает false .

Эта функция может иногда ошибаться и возвращать false даже если мьютекс в данный момент не заблокирован в эксклюзивном режиме каким-либо другим потоком.

Предыдущая операция unlock() на том же мьютексе синхронизируется-с (как определено в std::memory_order ) этой операцией, если она возвращает true .

Поведение не определено, если вызывающий поток уже владеет мьютексом в любом режиме.

Содержание

Параметры

(нет)

Возвращаемое значение

true если блокировка была успешно получена, в противном случае false .

Исключения

Ничего не выбрасывает.

Пример

Смотрите также

блокирует мьютекс, ожидает если мьютекс недоступен
(public member function)
пытается заблокировать мьютекс, возвращает управление если мьютекс недоступен
(public member function)
разблокирует мьютекс (совместное владение)
(public member function)