Namespaces
Variants

std::lock_guard<Mutex>:: lock_guard

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
std::lock_guard
Member functions
lock_guard::lock_guard
explicit lock_guard ( mutex_type & m ) ;
(1) (seit C++11)
lock_guard ( mutex_type & m, std:: adopt_lock_t t ) ;
(2) (seit C++11)
lock_guard ( const lock_guard & ) = delete ;
(3) (seit C++11)

Übernimmt den Besitz des gegebenen Mutex m .

1) Ruft effektiv m. lock ( ) auf.
2) Übernimmt den Besitz des Mutex m ohne Versuch ihn zu sperren. Das Verhalten ist undefiniert, wenn der aktuelle Thread keine exklusive Sperre (d.h. eine durch lock , try_lock , try_lock_for , oder try_lock_until ) erworbene Sperre) auf m hält.
3) Copy-Konstruktor ist gelöscht.

Das Verhalten ist undefiniert, wenn m zerstört wird, bevor das lock_guard -Objekt zerstört wird.

Parameter

m - Mutex, dessen Eigentümerschaft erworben werden soll
t - Tag-Parameter zur Auswahl der nicht-sperrenden Version des Konstruktors

Ausnahmen

1) Wirft alle Ausnahmen, die von m. lock ( ) geworfen werden.
2) Wirft nichts.