lock_guard Class
Represents a template that can be instantiated to create an object whose destructor unlocks a mutex
.
template <class Mutex>
class lock_guard;
The template argument Mutex
must name a mutex type.
Name | Description |
---|---|
lock_guard::mutex_type |
Synonym for the template argument Mutex . |
Name | Description |
---|---|
lock_guard | Constructs a lock_guard object. |
lock_guard::~lock_guard Destructor | Unlocks the mutex that was passed to the constructor. |
Header: <mutex>
Namespace: std
Constructs a lock_guard
object.
explicit lock_guard(mutex_type& Mtx);
lock_guard(mutex_type& Mtx, adopt_lock_t);
Mtx
A mutex type object.
The first constructor constructs an object of type lock_guard
and locks Mtx. If Mtx is not a recursive mutex, it must be unlocked when this constructor is called.
The second constructor does not lock Mtx. Mtx must be locked when this constructor is called. The constructor throws no exceptions.
Unlocks the mutex
that was passed to the constructor.
~lock_guard() noexcept;
If the mutex
does not exist when the destructor runs, the behavior is undefined.