Partilhar via


Classe timed_mutex

Representa um tipo mutex programado. Objetos desse tipo são usados para impor a exclusão mútua por meio do bloqueio com tempo limite em um programa.

Sintaxe

class timed_mutex;

Membros

Construtores públicos

Nome Descrição
timed_mutex Constrói um objeto timed_mutex que não está bloqueado.
Destruidor timed_mutex::~timed_mutex Libera todos os recursos usados pelo objeto timed_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 o bloqueio.
try_lock_for Tenta obter a propriedade do mutex por um intervalo de tempo especificado.
try_lock_until Tenta obter a propriedade do mutex até um tempo especificado.
unlock Libera a propriedade do mutex.

Requisitos

Cabeçalho:<mutex>

Namespace: std

timed_mutex::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 timed_mutex::timed_mutex

Constrói um objeto timed_mutex que não está bloqueado.

timed_mutex();

Destruidor timed_mutex::~timed_mutex

Libera todos os recursos usados pelo objeto mutex.

~timed_mutex();

Comentários

Se o objeto estiver bloqueado quando o destruidor for executado, o comportamento será indefinido.

timed_mutex::try_lock

Tenta obter a propriedade do mutex sem o bloqueio.

bool try_lock();

Valor de retorno

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.

timed_mutex::try_lock_for

Tenta obter a propriedade do mutex sem o bloqueio.

template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);

Parâmetros

Rel_time
Um objeto chrono::duration que especifica o tempo máximo que o método tenta obter a propriedade do mutex.

Valor de retorno

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.

timed_mutex::try_lock_until

Tenta obter a propriedade do mutex sem o bloqueio.

template <class Clock, class Duration>
bool try_lock_for(const chrono::time_point<Clock, Duration>& Abs_time);

bool try_lock_until(const xtime* Abs_time);

Parâmetros

Abs_time
Um ponto no tempo que especifica o limite após o qual o método não tenta mais obter a propriedade do mutex.

Valor de retorno

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.

timed_mutex::unlock

Libera a propriedade do mutex.

void unlock();

Comentários

Se o thread de chamada não for o proprietário do mutex, o comportamento será indefinido.

Confira também

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