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.