std:: condition_variable_any
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<condition_variable>
|
||
|
class
condition_variable_any
;
|
(depuis C++11) | |
La classe
condition_variable_any
est une généralisation de
std::condition_variable
. Alors que
std::condition_variable
fonctionne uniquement avec
std::
unique_lock
<
std::
mutex
>
,
condition_variable_any
peut fonctionner avec tout verrou qui satisfait aux exigences
BasicLockable
.
Voir std::condition_variable pour la description de la sémantique des variables de condition.
La classe
std::condition_variable_any
est un
StandardLayoutType
. Elle n'est ni
CopyConstructible
,
MoveConstructible
,
CopyAssignable
, ni
MoveAssignable
.
Si le verrou est std:: unique_lock < std:: mutex > , std::condition_variable peut offrir de meilleures performances.
Table des matières |
Fonctions membres
|
construit l'objet
(fonction membre publique) |
|
|
détruit l'objet
(fonction membre publique) |
|
|
operator=
[deleted]
|
non assignable par copie
(fonction membre publique) |
Notification |
|
|
notifie un thread en attente
(fonction membre publique) |
|
|
notifie tous les threads en attente
(fonction membre publique) |
|
Attente |
|
|
bloque le thread courant jusqu'au réveil de la variable condition
(fonction membre publique) |
|
|
bloque le thread courant jusqu'au réveil de la variable condition ou après la durée de timeout spécifiée
(fonction membre publique) |
|
|
bloque le thread courant jusqu'au réveil de la variable condition ou jusqu'à l'atteinte du point temporel spécifié
(fonction membre publique) |
|
Notes
std::condition_variable_any
peut être utilisé avec
std::shared_lock
afin d'attendre sur un
std::shared_mutex
en mode de propriété partagée.
Une utilisation possible de
std::condition_variable_any
avec des types
Lockable
personnalisés est de fournir des attentes interrompables pratiques : l'opération de verrouillage personnalisée verrouillerait à la fois le mutex associé comme prévu, et effectuerait également la configuration nécessaire pour notifier cette variable de condition lorsque le signal d'interruption est reçu.
[1]
Voir aussi
|
(C++11)
|
fournit une variable de condition associée à un
std::unique_lock
(classe) |
Liens externes
|