std:: condition_variable_any
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definido en el 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
funciona únicamente con
std::
unique_lock
<
std::
mutex
>
,
condition_variable_any
puede operar con cualquier bloqueo que cumpla los requisitos de
BasicLockable
.
Consulte std::condition_variable para la descripción de la semántica de las variables de condición.
La clase
std::condition_variable_any
es un
StandardLayoutType
. No es
CopyConstructible
,
MoveConstructible
,
CopyAssignable
, ni
MoveAssignable
.
Si el bloqueo es std:: unique_lock < std:: mutex > , std::condition_variable puede proporcionar mejor rendimiento.
Contenidos |
Funciones miembro
|
construye el objeto
(función miembro pública) |
|
|
destruye el objeto
(función miembro pública) |
|
|
operator=
[deleted]
|
no asignable por copia
(función miembro pública) |
Notificación |
|
|
notifica un hilo en espera
(función miembro pública) |
|
|
notifica todos los hilos en espera
(función miembro pública) |
|
Espera |
|
|
bloquea el hilo actual hasta que la variable de condición sea despertada
(función miembro pública) |
|
|
bloquea el hilo actual hasta que la variable de condición sea despertada o después de la duración de tiempo de espera especificada
(función miembro pública) |
|
|
bloquea el hilo actual hasta que la variable de condición sea despertada o hasta que se alcance el punto de tiempo especificado
(función miembro pública) |
|
Notas
std::condition_variable_any
puede utilizarse con
std::shared_lock
para esperar en un
std::shared_mutex
en modo de propiedad compartida.
Un posible uso para
std::condition_variable_any
con tipos
Lockable
personalizados es proporcionar esperas interrumpibles convenientes: la operación de bloqueo personalizada bloquearía el mutex asociado como se espera, 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]
Véase también
|
(C++11)
|
proporciona una variable de condición asociada con un
std::unique_lock
(clase) |
Enlaces externos
|