Namespaces
Variants

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

From cppreference.net
C++ named requirements

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

Table des matières

Exigences

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

Expression Préconditions Effets
m. lock ( ) Bloque jusqu'à ce qu'un verrou puisse être acquis pour l'agent d'exécution actuel (thread, processus, tâche). Si une exception est levée, aucun verrou n'est acquis.
m. unlock ( ) L'agent d'exécution actuel détient un verrou non partagé sur m . Libère le verrou non partagé détenu par l'agent d'exécution.

Ne lève aucune exception.

Verrous non partagés

Un verrou sur un objet est dit verrou non partagé s'il est acquis par un appel à la fonction membre lock , try_lock , try_lock_for , ou try_lock_until .

Bibliothèque standard

Les types suivants de la bibliothèque standard satisfont BasicLockable aux exigences :

(C++11)
fournit une fonction d'exclusion mutuelle de base
(classe)
fournit une fonction d'exclusion mutuelle pouvant être verrouillée récursivement par le même thread
(classe)
fournit une fonction d'exclusion mutuelle pouvant être verrouillée récursivement
par le même thread et implémente le verrouillage avec un délai d'expiration
(classe)
fournit une fonction d'exclusion mutuelle partagée
(classe)
fournit une fonction d'exclusion mutuelle partagée et implémente le verrouillage avec un délai d'expiration
(classe)
fournit une fonction d'exclusion mutuelle qui implémente le verrouillage avec un délai d'expiration
(classe)

Voir aussi