Compartir vía


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.

Consulte también

Referencia de archivos de encabezado
<mutex>