Partager via


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>