Espacios de nombres
Variantes
Acciones

std::condition_variable_any

De cppreference.com
< cpp‎ | thread
 
 
Biblioteca de apoyo de concurrencia
Hilos
(C++11)
(C++20)
Espacio de nombres this_thread
(C++11)
(C++11)
(C++11)
Cancelación cooperativa
Exclusión mutua
Gestión genérica de bloqueo
(C++11)
(C++11)
(C++11)
(C++11)
Variables de condición
condition_variable_any
(C++11)
(C++11)
Semáforos
Pestillos y barreras
(C++20)
(C++20)
Futuros
(C++11)
(C++11)
(C++11)
Recuperación segura
Punteros de riesgo
Tipos atómicos
(C++11)
(C++20)
Inicialización de tipos atómicos
(C++11)(en desuso en C++20)
(C++11)(en desuso en C++20)
Orden de memoria
Funciones independientes para operaciones atómicas
Funciones independientes para indicadores atómicos
 
 
Definido en el archivo de encabezado <condition_variable>
class condition_variable_any;
(desde C++11)

La clase condition_variable_any es una generalización de std::condition_variable. Mientras que std::condition_variable solo funciona en std::unique_lock<std::mutex>, condition_variable_any puede operar en cualquier cerrojo que cumpla con los requerimientos de BasicLockable.

Véase std::condition_variable para obtener una descripción de la semántica de las variables de condición.

La clase std::condition_variable_any cumple con los requerimientos de StandardLayoutType. No es CopyConstructible, MoveConstructible, CopyAssignable, o MoveAssignable.

Si el cerrojo es un std::unique_lock<std::mutex>, std::condition_variable puede proporcionar un mejor rendimiento.

Contenido

[editar]Funciones miembro

Construye el objeto.
(función miembro pública)[editar]
Destruye el objeto.
(función miembro pública)[editar]
operator=
[eliminada]
No es asignable mediante copia.
(función miembro pública)[editar]
Notificación
Notifica a un hilo en espera.
(función miembro pública)[editar]
Notifica a todos los hilos en espera.
(función miembro pública)[editar]
Espera
Bloquea el hilo actual hasta que la variable de condición se despierte.
(función miembro pública)[editar]
Bloquea el hilo actual hasta que la variable de condición se despierte o hasta después del tiempo de espera especificado.
(función miembro pública)[editar]
Bloquea el hilo actual hasta que la variable de condición se despierte o se haya alcanzado el punto de tiempo especificado.
(función miembro pública)[editar]

[editar]Notas

std::condition_variable_any puede usarse con std::shared_lock para esperar en std::shared_mutex en modo de propiedad compartida.

Un posible uso de std::condition_variable_any con tipos Lockable personalizados es proporcionar esperas interrumpibles convenientes: la operación de bloqueo personalizado bloquearía el mutex asociado como se esperaba, y también realizaría la configuración necesaria para notificar a esta variable de condición cuando se reciba la señal de interrupción.[1]

[editar]Referencias

  1. A. Williams (2012), "C++ Concurrency in Action" 9.2.4 Interrupting a wait on std::condition_variable_any
close