Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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>