Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Representa um tipo mutex. Em contraste com mutex, o comportamento de chamadas para métodos de bloqueio para objetos que já estão bloqueados é bem definido.
Sintaxe
class recursive_mutex;
Membros
Construtores públicos
| Nome | Descrição |
|---|---|
| recursive_mutex | Constrói um objeto recursive_mutex. |
| Destruidor ~recursive_mutex | Libera todos os recursos usados pelo objeto recursive_mutex. |
Métodos públicos
| Nome | Descrição |
|---|---|
| lock | Bloqueia o thread de chamada até que ele tenha obtido a propriedade do mutex. |
| try_lock | Tenta obter a propriedade do mutex sem bloquear. |
| unlock | Libera a propriedade do mutex. |
Requisitos
Cabeçalho:<mutex>
Namespace: std
lock
Bloqueia o thread de chamada até que ele tenha obtido a propriedade do mutex.
void lock();
Comentários
Se o thread de chamada já possuir o mutex, o método retornará imediatamente e o bloqueio anterior permanece em vigor.
recursive_mutex
Constrói um objeto recursive_mutex que não está bloqueado.
recursive_mutex();
~ recursive_mutex
Libera todos os recursos usados pelo objeto .
~recursive_mutex();
Comentários
Se o objeto estiver bloqueado quando o destruidor for executado, o comportamento será indefinido.
try_lock
Tenta obter a propriedade do mutex sem o bloqueio.
bool try_lock() noexcept;
Valor de retorno
true se o método obtiver a propriedade do mutex com êxito ou se o thread de chamada já possui o mutex**; otherwise, **false.
Comentários
Se o thread de chamada já possui o mutex, a função retorna true imediatamente e o bloqueio anterior permanece em vigor.
desbloquear
Libera a propriedade do mutex.
void unlock();
Comentários
Esse método libera a propriedade do mutex somente depois que ele é chamado tantas vezes quanto lock e try_lock foram chamados com êxito no objeto recursive_mutex.
Se o thread de chamada não for o proprietário do mutex, o comportamento será indefinido.