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.