std::shared_timed_mutex::lock_shared
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Exclusive locking | ||||
| Shared locking | ||||
shared_timed_mutex::lock_shared | ||||
void lock_shared(); |
(since C++14) | |
Acquires shared ownership of the mutex. If another thread is holding the mutex in exclusive ownership, a call to lock_shared will block execution until shared ownership can be acquired.
If lock_shared is called by a thread that already owns the mutex in any mode (exclusive or shared), the behavior is undefined.
If more than the implementation-defined maximum number of shared owners already locked the mutex in shared mode, lock_shared
Prior unlock() operation on the same mutex synchronizes-with (as defined in std::memory_order
Parameters
(none)
Return value
(none)
Exceptions
Throws std::system_error when errors occur, including errors from the underlying operating system that would prevent lock
Notes
lock_shared() is usually not called directly: std::shared_lock is used to manage shared locking.
Example
| This section is incomplete Reason: no example |
See also
| locks the mutex, blocks if the mutex is not available (public member function) |
|
| tries to lock the mutex for shared ownership, returns if the mutex is not available (public member function) |
|
| unlocks the mutex (shared ownership) (public member function) |