mutex
classe (bibliothèque standard C++)
Représente un type mutex. Vous pouvez utiliser des objets de ce type pour appliquer une exclusion mutuelle dans un programme.
Syntaxe
class mutex;
Membres
Constructeur public/destructeur
Nom | Description |
---|---|
mutex |
Construit un objet mutex . |
~mutex |
Libère toutes les ressources qui étaient utilisées par l’objet mutex . |
Méthodes publiques
Nom | Description |
---|---|
lock |
Bloque le thread appelant jusqu'à ce que le thread obtienne la propriété du mutex . |
native_handle |
Retourne le type propre à l’implémentation qui représente le descripteur de mutex. |
try_lock |
Tente d'obtenir la propriété de la référence mutex sans se bloquer. |
unlock |
Libère la propriété du mutex . |
Spécifications
En-tête : <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à mutex
, le comportement est indéfini.
Constructeur
Construit un mutex
objet qui n’est pas verrouillé.
Avant Visual Studio 2022 17.10, l’implémentation de Microsoft de ce constructeur n’était pas constexpr
. Maintenant, c’est constexpr
.
mutex() noexcept;
Destructeur
Libère les ressources utilisées par l’objet mutex
.
~mutex();
Notes
Si l'objet est verrouillé lorsque le destructeur s'exécute, le comportement est indéfini.
native_handle
Retourne le type propre à l’implémentation qui représente le descripteur de mutex. Vous pouvez utiliser le descripteur de plusieurs manières propres à l’implémentation.
native_handle_type native_handle();
Valeur de retour
native_handle_type
est défini en tant que Concurrency::critical_section *
. C’est cast comme void *
.
try_lock
Tente d'obtenir la propriété de la référence mutex
sans se bloquer.
bool try_lock();
Valeur retournée
true
si la méthode obtient correctement la propriété du mutex
; sinon, false
.
Notes
Si le thread appelant possède déjà mutex
, le comportement est indéfini.
unlock
Libère la propriété du mutex
.
void unlock();
Notes
Si le thread appelant ne possède pas le mutex
thread d’appel, le comportement n’est pas défini.
Voir aussi
Informations de référence sur les fichiers d’en-tête
<mutex>