Compartir vía


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.

Consulte también

Referencia de archivos de encabezado
<mutex>