std::shared_lock<Mutex>::try_lock

From cppreference.com
< cpp‎ | thread‎ | shared lock
 
 
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
(C++11)
Generic lock management
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
Safe Reclamation
(C++26)
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
Free functions for atomic operations
Free functions for atomic flags
 
 
bool try_lock();
(since C++14)

Tries to lock the associated mutex in shared mode without blocking. Effectively calls mutex()->try_lock_shared().

std::system_error is thrown if there is no associated mutex or if the mutex is already locked.

Parameters

(none)

Return value

true if the ownership of the mutex has been acquired successfully, false otherwise.

Exceptions

  • Any exceptions thrown by mutex()->try_lock_shared().

Example

See also

locks the associated mutex
(public member function)
tries to lock (i.e., takes ownership of) the associated mutex without blocking
(public member function of std::unique_lock<Mutex>)
tries to lock the associated mutex, for the specified duration
(public member function)
tries to lock the associated mutex, until a specified time point
(public member function)
unlocks the associated mutex
(public member function)