|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TheLockable requirements extends theBasicLockable requirements to include attempted locking.
Contents |
For typeL to beLockable, it must meet the above condition as well as the following:
| Expression | Effects | Return value |
|---|---|---|
| m.try_lock() | Attempts to acquire the lock for the current execution agent (thread, process, task) without blocking. If an exception is thrown, no lock is obtained. | true if the lock was acquired,false otherwise |
Thetry_lock member functions obtains a non-shared lock onm on success.
The following standard library types satisfyLockable requirements:
(C++11) | provides basic mutual exclusion facility (class)[edit] |
(C++11) | provides mutual exclusion facility which can be locked recursively by the same thread (class)[edit] |
(C++11) | provides mutual exclusion facility which can be locked recursively by the same thread and implements locking with a timeout (class)[edit] |
(C++17) | provides shared mutual exclusion facility (class)[edit] |
(C++14) | provides shared mutual exclusion facility and implements locking with a timeout (class)[edit] |
(C++11) | provides mutual exclusion facility which implements locking with a timeout (class)[edit] |