lock_guard (Clase)
Representa una plantilla de la que se pueden crear instancias para crear un objeto cuyo destructor desbloquea una mutex
.
Sintaxis
template <class Mutex>
class lock_guard;
Comentarios
El argumento de plantilla Mutex
debe nombrar un tipo de exclusión mutua.
Miembros
Definiciones de tipos públicas
Nombre | Descripción |
---|---|
lock_guard::mutex_type |
Sinónimo del argumento de plantilla Mutex . |
Constructores públicos
Nombre | Descripción |
---|---|
lock_guard | Construye un objeto lock_guard . |
Destructor lock_guard::~lock_guard | Desbloquea el objeto mutex que se pasó al constructor. |
Requisitos
Encabezado:<mutex>
Espacio de nombres: std
Constructor lock_guard::lock_guard
Construye un objeto lock_guard
.
explicit lock_guard(mutex_type& Mtx);
lock_guard(mutex_type& Mtx, adopt_lock_t);
Parámetros
Mtx
Objeto de tipo de exclusión mutua.
Comentarios
El primer constructor crea un objeto de tipo lock_guard
y bloquea Mtx. Si Mtx no es una exclusión mutua recursiva, debe estar desbloqueado cuando se llama a este constructor.
El segundo constructor no bloquea Mtx. Mtx debe estar bloqueado cuando se llame a este constructor. El constructor no inicia excepciones.
Destructor lock_guard::~lock_guard
Desbloquea el objeto mutex
que se pasó al constructor.
~lock_guard() noexcept;
Comentarios
Si mutex
no existe cuando se ejecuta el destructor, el comportamiento es indefinido.