timed_mutex (Clase)
Representa un tipo de exclusión mutua cronometrado. Los objetos de este tipo se usan para aplicar una exclusión mutua mediante un bloqueo limitado por tiempo dentro de un programa.
Sintaxis
class timed_mutex;
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
timed_mutex | Crea un objeto timed_mutex que no está bloqueado. |
timed_mutex::~timed_mutex (Destructor) | Libera todos los recursos usados por el objeto timed_mutex . |
Métodos públicos
Nombre | Descripción |
---|---|
lock | Bloquea el subproceso que realiza la llamada hasta que este obtiene la propiedad mutex . |
try_lock | Intenta obtener la propiedad de mutex sin bloquearlo. |
try_lock_for | Intenta obtener la propiedad de mutex para un intervalo de tiempo especificado. |
try_lock_until | Intenta obtener la propiedad de mutex hasta una hora especificada. |
unlock | Libera la propiedad de mutex . |
Requisitos
Encabezado:<mutex>
Espacio de nombres: std
timed_mutex::lock
Bloquea el subproceso que realiza la llamada hasta que este obtiene la propiedad mutex
.
void lock();
Comentarios
Si el subproceso que realiza la llamada ya posee mutex
, el comportamiento es indefinido.
timed_mutex::timed_mutex (Constructor)
Crea un objeto timed_mutex
que no está bloqueado.
timed_mutex();
timed_mutex::~timed_mutex (Destructor)
Libera todos los recursos usados por el objeto mutex
.
~timed_mutex();
Comentarios
Si el objeto está bloqueado cuando se ejecuta el destructor, el comportamiento es indefinido.
timed_mutex::try_lock
Intenta obtener la propiedad de mutex
sin bloquearlo.
bool try_lock();
Valor devuelto
Es true
si el método obtiene correctamente la propiedad de mutex
; de lo contrario, es false
.
Comentarios
Si el subproceso que realiza la llamada ya posee mutex
, el comportamiento es indefinido.
timed_mutex::try_lock_for
Intenta obtener la propiedad de mutex
sin bloquearlo.
template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);
Parámetros
Rel_time
Un objeto chrono::duration que especifica el tiempo máximo que el método intenta obtener la propiedad de mutex
.
Valor devuelto
Es true
si el método obtiene correctamente la propiedad de mutex
; de lo contrario, es false
.
Comentarios
Si el subproceso que realiza la llamada ya posee mutex
, el comportamiento es indefinido.
timed_mutex::try_lock_until
Intenta obtener la propiedad de mutex
sin bloquearlo.
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
Punto en el tiempo que especifica el umbral después del cual el método ya no intenta obtener la propiedad de mutex
.
Valor devuelto
Es true
si el método obtiene correctamente la propiedad de mutex
; de lo contrario, es false
.
Comentarios
Si el subproceso que realiza la llamada ya posee mutex
, el comportamiento es indefinido.
timed_mutex::unlock
Libera la propiedad de mutex
.
void unlock();
Comentarios
Si el subproceso que realiza la llamada no posee mutex
, el comportamiento es indefinido.