Namespaces
Variants

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

From cppreference.net
C++ named requirements

Les SharedLockable exigences décrivent les caractéristiques minimales des types qui fournissent une sémantique de blocage partagé pour les agents d'exécution (c'est-à-dire les threads).

Table des matières

Exigences

Pour que le type L soit SharedLockable , les conditions suivantes doivent être satisfaites pour un objet m de type L :

Expression Préconditions Effets Valeur de retour
m. lock_shared ( ) Bloque jusqu'à ce qu'un verrou puisse être obtenu pour l'agent d'exécution actuel (thread, processus, tâche). Si une exception est levée, aucun verrou n'est obtenu.
m. try_lock_shared ( ) Tente d'obtenir un verrou pour l'agent d'exécution actuel (thread, processus, tâche) sans bloquer. Si une exception est levée, aucun verrou n'est obtenu. true si le verrou a été obtenu, false sinon
m. unlock_shared ( ) L'agent d'exécution actuel détient un verrou partagé sur m . Libère le verrou partagé détenu par l'agent d'exécution.

Ne lève aucune exception.

Verrous partagés

Un verrou sur un objet est considéré comme un verrou partagé s'il est acquis par un appel à la fonction membre lock_shared , try_lock_shared , try_lock_shared_for , ou try_lock_shared_until .

Bibliothèque standard

Les types suivants de la bibliothèque standard satisfont les exigences SharedLockable :

fournit une fonctionnalité d'exclusion mutuelle partagée
(classe)
fournit une fonctionnalité d'exclusion mutuelle partagée et implémente le verrouillage avec un délai d'expiration
(classe)

Voir aussi