std::unique_lock::unique_lock
From cppreference.com
< cpp | thread | unique lock
unique_lock(); |
(1) | (since C++11) |
unique_lock( unique_lock&& other ); |
(2) | (since C++11) |
explicit unique_lock( mutex_type& m ); |
(3) | (since C++11) |
unique_lock( mutex_type& m, std::defer_lock_t t ); |
(4) | (since C++11) |
unique_lock( mutex_type& m, std::try_to_lock_t t ); |
(5) | (since C++11) |
unique_lock( mutex_type& m, std::adopt_lock_t t ); |
(6) | (since C++11) |
template< class Rep, class Period > unique_lock( mutex_type& m, |
(7) | (since C++11) |
template< class Clock, class Period > unique_lock( mutex_type& m, |
(8) | (since C++11) |
Constructs the lock optionally locking the supplied mutex.
1) Constructs the lock with no associated mutex.
2) Move constructor. Initializes the state with the contents of other.
3-8) Constructs the lock with m as the associated mutex. Additionally:
- 3) Locks the associated mutex by calling m.lock().
- 4) Does not lock the associated mutex.
- 5) Tries to lock the associated mutex without blocking by calling m.trylock().
- 6) Assumes the calling thread already owns m.
- 7) Tries to lock the associated mutex. Blocks until specified timeout_duration has elapsed or the lock is acquired, whichever comes first. May block for longer than timeout_duration.
- 8) Tries to lock the associated mutex. Blocks until specified timeout_time has been reached or the lock is acquired, whichever comes first. May block for longer than until timeout_time has been reached.
[edit] Parameters
other | - | another unique_lock to initialize the state with |
m | - | mutex to associate with the lock and optionally acquire ownership of |
t | - | tag parameter used to select constructors with different locking strategies |
timeout_duration | - | maximum duration to block for |
timeout_time | - | maximum time point to block until |
[edit] Exceptions
1-2)3)
This section is incomplete |
5-8)
This section is incomplete |