Classe mutex
(Biblioteca Padrão C++)
Representa um tipo mutex. Objetos desse tipo podem ser usados para impor a exclusão mútua dentro de um programa.
Sintaxe
class mutex;
Membros
Destruidor/construtor público
Nome | Descrição |
---|---|
mutex |
Constrói um objeto mutex . |
~mutex |
Libera todos os recursos que foram usados pelo objeto mutex . |
Métodos públicos
Nome | Descrição |
---|---|
lock |
Bloqueia o thread de chamada até que ele tenha obtido a propriedade do mutex . |
native_handle |
Retorna o tipo específico à implementação que representa o identificador mutex. |
try_lock |
Tenta obter a propriedade do mutex sem o bloqueio. |
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á for o proprietário do mutex
, o comportamento será indefinido.
Construtor
Constrói um objeto mutex
que não está bloqueado.
Antes do Visual Studio 2022 17.10, a implementação desse construtor pela Microsoft não constexpr
era . Agora é constexpr
.
mutex() noexcept;
Destruidor
Libera todos os recursos usados pelo objeto mutex
.
~mutex();
Comentários
Se o objeto estiver bloqueado quando o destruidor for executado, o comportamento será indefinido.
native_handle
Retorna o tipo específico à implementação que representa o identificador mutex. O identificador mutex pode ser usado de maneiras específicas da implementação.
native_handle_type native_handle();
Valor de retorno
native_handle_type
é definido como um Concurrency::critical_section *
. É lançado como void *
.
try_lock
Tenta obter a propriedade do mutex
sem o bloqueio.
bool try_lock();
Valor retornado
true
se o método obtiver a propriedade do mutex
com êxito; caso contrário, false
.
Comentários
Se o thread de chamada já for o proprietário do mutex
, o comportamento será indefinido.
unlock
Libera a propriedade do mutex
.
void unlock();
Comentários
Se o thread de chamada não for o proprietário de mutex
, o comportamento será indefinido.