Namespaces
Variants

C++ named requirements: BasicLockable (since C++11)

From cppreference.net
C++ named requirements

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

Contenidos

Requisitos

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

Expresión Precondiciones Efectos
m. lock ( ) Bloquea hasta que se pueda adquirir un bloqueo para el agente de ejecución actual (hilo, proceso, tarea). Si se lanza una excepción, no se adquiere ningún bloqueo.
m. unlock ( ) El agente de ejecución actual mantiene un bloqueo no compartido en m . Libera el bloqueo no compartido mantenido por el agente de ejecución.

No lanza excepciones.

Bloqueos no compartidos

Se dice que un bloqueo sobre un objeto es un bloqueo no compartido si se adquiere mediante una llamada a las funciones miembro lock , try_lock , try_lock_for , o try_lock_until .

Biblioteca estándar

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

(C++11)
proporciona funcionalidad básica de exclusión mutua
(class)
proporciona funcionalidad de exclusión mutua que puede ser bloqueada recursivamente por el mismo hilo
(class)
proporciona funcionalidad de exclusión mutua que puede ser bloqueada recursivamente
por el mismo hilo e implementa bloqueo con tiempo de espera
(class)
proporciona funcionalidad de exclusión mutua compartida
(class)
proporciona funcionalidad de exclusión mutua compartida e implementa bloqueo con tiempo de espera
(class)
proporciona funcionalidad de exclusión mutua que implementa bloqueo con tiempo de espera
(class)

Véase también