Compartilhar via


Classe lock_guard

Representa um modelo que pode ser instanciado para criar um objeto cujo destruidor desbloqueia um mutex.

Sintaxe

template <class Mutex>
class lock_guard;

Comentários

O argumento de modelo Mutex deve nomear um tipo mutex.

Membros

Typedefs públicos

Nome Descrição
lock_guard::mutex_type Sinônimo para o argumento de modelo Mutex.

Construtores públicos

Nome Descrição
lock_guard Constrói um objeto lock_guard.
Destruidor lock_guard::~lock_guard Desbloqueia o mutex que foi passado ao construtor.

Requisitos

Cabeçalho:<mutex>

Namespace: std

Construtor lock_guard::lock_guard

Constrói um objeto lock_guard.

explicit lock_guard(mutex_type& Mtx);

lock_guard(mutex_type& Mtx, adopt_lock_t);

Parâmetros

Mtx
Um objeto do tipo mutex.

Comentários

O primeiro construtor constrói um objeto do tipo lock_guard e bloqueia Mtx. Se Mtx não for um mutex recursivo, deve ser desbloqueado quando esse construtor for chamado.

O segundo construtor não bloqueia Mtx. Mtx deve ser bloqueado quando esse construtor for chamado. O construtor não lança exceções.

Destruidor lock_guard::~lock_guard

Desbloqueia o mutex que foi passado ao construtor.

~lock_guard() noexcept;

Comentários

Se o mutex não existir quando o destruidor for executado, o comportamento será indefinido.

Confira também

Referência de Arquivos de Cabeçalho
<mutex>