Condividi tramite


Classe lock_guard

Rappresenta un modello di cui è possibile creare un’istanza per la creazione di un oggetto il cui distruttore sblocca un tipo mutex.

Sintassi

template <class Mutex>
class lock_guard;

Osservazioni:

L'argomento del modello Mutex deve denominare un tipo mutex.

Membri

Typedef pubblici

Nome Descrizione
lock_guard::mutex_type Sinonimo dell'argomento di modello Mutex.

Costruttori pubblici

Nome Descrizione
lock_guard Costruisce un oggetto lock_guard.
Distruttore lock_guard::~lock_guard Sblocca il mutex passato al costruttore.

Requisiti

Header:<mutex>

Spazio dei nomi: std

Costruttore lock_guard::lock_guard

Costruisce un oggetto lock_guard.

explicit lock_guard(mutex_type& Mtx);

lock_guard(mutex_type& Mtx, adopt_lock_t);

Parametri

Mtx
Oggetto di tipo mutex.

Osservazioni:

Il primo costruttore costruisce un oggetto di tipo lock_guard e blocca Mtx. Se Mtx non è un mutex ricorsivo, deve essere sbloccato quando viene chiamato questo costruttore.

Il secondo costruttore non blocca Mtx. Mtx deve essere bloccato quando viene chiamato questo costruttore. Il costruttore non genera eccezioni.

Distruttore lock_guard::~lock_guard

Sblocca il mutex passato al costruttore.

~lock_guard() noexcept;

Osservazioni:

Se al momento dell'esecuzione del distruttore il mutex non esiste, il comportamento è indefinito.

Vedi anche

Riferimento file di intestazione
<mutex>