Freigeben über


lock_guard-Klasse

Stellt eine Vorlage dar, die zum Erstellen eines Objekts instanziiert werden kann, dessen Destruktor ein mutex-Objekt entsperrt.

Syntax

template <class Mutex>
class lock_guard;

Hinweise

Das Vorlagenargument Mutex muss einen Mutex-Typ benennen.

Member

Öffentliche Typedefs

Name Beschreibung
lock_guard::mutex_type Synonym für das Vorlagenargument Mutex.

Öffentliche Konstruktoren

Name Beschreibung
lock_guard Erstellt ein lock_guard-Objekt.
lock_guard::~lock_guard Destruktor Entsperrt das mutex-Objekt, das an den Konstruktor übergeben wurde.

Anforderungen

Header:<mutex>

Namespace: std

lock_guard::lock_guard-Konstruktor

Erstellt ein lock_guard-Objekt.

explicit lock_guard(mutex_type& Mtx);

lock_guard(mutex_type& Mtx, adopt_lock_t);

Parameter

Mtx
Ein mutex type-Objekt.

Hinweise

Der erste Konstruktor erstellt ein Objekt vom Typ lock_guard und sperrt Mtx. Wenn Mtx kein rekursiver Mutex ist, muss er entsperrt werden, wenn dieser Konstruktor aufgerufen wird.

Der zweite Konstruktor sperrt Mtx nicht. Mtx muss gesperrt werden, wenn dieser Konstruktor aufgerufen wird. Der Konstruktor löst keine Ausnahmen aus.

lock_guard::~lock_guard Destruktor

Entsperrt das mutex-Objekt, das an den Konstruktor übergeben wurde.

~lock_guard() noexcept;

Hinweise

Wenn das mutex-Objekt nicht vorhanden ist, wenn der Destruktor ausgeführt wird, ist das Verhalten nicht definiert.

Siehe auch

Headerdateienreferenz
<mutex>