Partager via


timed_mutex, classe

Représente un type mutex limité dans le temps. Les objets de ce type permettent d’appliquer une exclusion mutuelle (mutex) via un blocage limité dans le temps dans un programme.

Syntaxe

class timed_mutex;

Membres

Constructeurs publics

Nom Description
timed_mutex Construit un objet timed_mutex qui n’est pas verrouillé.
timed_mutex::~timed_mutex, destructeur Libère les ressources utilisées par l’objet timed_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é de la référence mutex sans se bloquer.
try_lock_for Tente d’obtenir la propriété du mutex pour un intervalle de temps spécifié.
try_lock_until Tente d’obtenir la propriété du mutex jusqu’à une heure spécifiée.
unlock Libère la propriété du mutex.

Spécifications

Header :<mutex>

Espace de noms : std

timed_mutex ::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.

timed_mutex::timed_mutex, constructeur

Construit un objet timed_mutex qui n’est pas verrouillé.

timed_mutex();

timed_mutex::~timed_mutex, destructeur

Libère les ressources utilisées par l’objet mutex.

~timed_mutex();

Notes

Si l'objet est verrouillé lorsque le destructeur s'exécute, le comportement est indéfini.

timed_mutex ::try_lock

Tente d'obtenir la propriété de la référence mutex sans se bloquer.

bool try_lock();

Valeur de retour

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.

timed_mutex ::try_lock_for

Tente d'obtenir la propriété de la référence mutex sans se bloquer.

template <class Rep, class Period>
bool try_lock_for(const chrono::duration<Rep, Period>& Rel_time);

Paramètres

Rel_time
Objet chrono::duration qui spécifie la durée maximale pendant laquelle la méthode essaie d’obtenir la propriété du mutex.

Valeur de retour

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.

timed_mutex ::try_lock_until

Tente d'obtenir la propriété de la référence mutex sans se bloquer.

template <class Clock, class Duration>
bool try_lock_for(const chrono::time_point<Clock, Duration>& Abs_time);

bool try_lock_until(const xtime* Abs_time);

Paramètres

Abs_time
Point dans le temps qui spécifie le seuil au-delà duquel la méthode ne tente plus d'obtenir la propriété du mutex.

Valeur de retour

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.

timed_mutex ::unlock

Libère la propriété du mutex.

void unlock();

Notes

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>