recursive_mutex (Clase)

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Representa un tipo de exclusión mutua. Diferencia mutex, el comportamiento de las llamadas a métodos de bloqueos para los objetos que ya estén bloqueados está bien definido.

class recursive_mutex;

Constructores públicos

NombreDescripción
Constructor de recursive_mutex::recursive_mutexConstruye un objeto recursive_mutex.
recursive_mutex:: ~ recursive_mutex (destructor)Libera todos los recursos utilizados por la recursive_mutex objeto.

Métodos públicos

NombreDescripción
recursive_mutex:: lock (método)Bloquea el subproceso de llamada hasta que el subproceso obtiene la propiedad de la exclusión mutua.
recursive_mutex:: try_lock (método)Intenta obtener la propiedad de la exclusión mutua sin bloqueo.
recursive_mutex:: Unlock (método)Libera la propiedad de la exclusión mutua.

Encabezado: mutex

Espacio de nombres: std

Bloquea el subproceso que realiza la llamada hasta que este obtiene la propiedad mutex.

void lock();

Comentarios

Si el subproceso de llamada ya posee el mutex, el método vuelve inmediatamente, y el bloqueo anterior permanece en vigor.

Construye un recursive_mutex objeto que no está bloqueado.

recursive_mutex();

Libera los recursos utilizados por el objeto.

~recursive_mutex();

Comentarios

Si el objeto está bloqueado cuando se ejecuta el destructor, el comportamiento es indefinido.

Intenta obtener la propiedad de mutex sin bloquearlo.

bool try_lock() noexcept;

Valor devuelto

trueSi el método obtiene correctamente la propiedad de la mutex o si el subproceso de llamada ya posee el mutex; en caso contrario, false.

Comentarios

Si el subproceso de llamada ya posee el mutex, la función devuelve inmediatamente true, y el bloqueo anterior permanece en vigor.

Libera la propiedad de la exclusión mutua.

void unlock();

Comentarios

Este método libera la propiedad de la mutex sólo después de que se llama tantas veces como bloqueo y try_lock se ha llamado correctamente en el recursive_mutex objeto.

Si el subproceso que realiza la llamada no posee mutex, el comportamiento es indefinido.

Referencia de archivos de encabezado
<>>

Mostrar: