Namespaces
Variants

C++ named requirements: SharedLockable (since C++14)

From cppreference.net
C++ named requirements

Los SharedLockable requisitos describen las características mínimas de los tipos que proporcionan semántica de bloqueo compartido para agentes de ejecución (es decir, hilos).

Contenidos

Requisitos

Para que el tipo L sea SharedLockable , deben satisfacerse las siguientes condiciones para un objeto m de tipo L :

Expresión Precondiciones Efectos Valor de retorno
m. lock_shared ( ) Bloquea hasta que se pueda obtener un bloqueo para el agente de ejecución actual (hilo, proceso, tarea). Si se lanza una excepción, no se obtiene ningún bloqueo.
m. try_lock_shared ( ) Intenta obtener un bloqueo para el agente de ejecución actual (hilo, proceso, tarea) sin bloquear. Si se lanza una excepción, no se obtiene ningún bloqueo. true si se obtuvo el bloqueo, false en caso contrario
m. unlock_shared ( ) El agente de ejecución actual mantiene un bloqueo compartido en m . Libera el bloqueo compartido mantenido por el agente de ejecución.

No lanza excepciones.

Bloqueos compartidos

Se dice que un bloqueo sobre un objeto es un bloqueo compartido si se adquiere mediante una llamada a la función miembro lock_shared , try_lock_shared , try_lock_shared_for , o try_lock_shared_until .

Biblioteca estándar

Los siguientes tipos de la biblioteca estándar satisfacen SharedLockable requisitos:

proporciona funcionalidad de exclusión mutua compartida
(clase)
proporciona funcionalidad de exclusión mutua compartida e implementa bloqueo con tiempo de espera
(clase)

Véase también