recursive_mutex, classe
Représente un type mutex. Contrairement à mutex, le comportement est bien défini pour les appels aux méthodes de verrouillage sur des objets qui sont déjà verrouillés.
Syntaxe
class recursive_mutex;
Membres
Constructeurs publics
Nom | Description |
---|---|
recursive_mutex | Construit un objet recursive_mutex . |
~recursive_mutex, destructeur | Libère les ressources utilisées par l’objet recursive_mutex . |
Méthodes publiques
Nom | Description |
---|---|
lock | Bloque le thread appelant jusqu’à ce que le thread obtienne la propriété du mutex. |
try_lock | Tente d’obtenir la propriété du mutex sans bloquer le thread. |
unlock | Libère la propriété du mutex. |
Spécifications
Header :<mutex>
Espace de noms : std
lock
Bloque le thread appelant jusqu'à ce que le thread obtienne la propriété du mutex
.
void lock();
Notes
Si le thread appelant possède déjà le mutex
, la méthode est retournée immédiatement, et le verrou précédent reste en vigueur.
recursive_mutex
Construit un objet recursive_mutex
qui n’est pas verrouillé.
recursive_mutex();
~recursive_mutex
Libère les ressources utilisées par l’objet .
~recursive_mutex();
Notes
Si l'objet est verrouillé lorsque le destructeur s'exécute, le comportement est indéfini.
try_lock
Tente d'obtenir la propriété de la référence mutex
sans se bloquer.
bool try_lock() noexcept;
Valeur de retour
true
si la méthode obtient correctement la propriété du mutex
thread appelant ou si le thread appelant possède déjà le mutex**; otherwise, **false
.
Notes
Si le thread appelant possède déjà le mutex
, la fonction retourne immédiatement true
, et le verrou précédent reste en vigueur.
déverrouiller
Libère la propriété du mutex.
void unlock();
Notes
Cette méthode libère la propriété du mutex
uniquement si elle a été appelée autant de fois que lock et try_lock ont été appelés avec succès sur l’objet recursive_mutex
.
Si le thread appelant ne possède pas mutex
, le comportement est indéfini.
Voir aussi
Informations de référence sur les fichiers d’en-tête
<mutex>