Namespaces
Variants
Views
Actions

std::lock_guard<Mutex>::lock_guard

From cppreference.com
< cpp‎ | thread‎ | lock guard
 
 
Concurrency support library
Threads
(C++11)
(C++20)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Mutual exclusion
(C++11)
(C++11)  
Generic lock management
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
Safe Reclamation
(C++26)
(C++26)
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
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) (since C++11)
lock_guard( mutex_type& m, std::adopt_lock_t t );
(2) (since C++11)
lock_guard( const lock_guard& ) = delete;
(3) (since C++11)

Acquires ownership of the given mutex m.

1) Effectively calls m.lock().
2) Acquires ownership of the mutex m without attempting to lock it. The behavior is undefined if the current thread does not hold a non-shared lock (i.e., a lock acquired by lock, try_lock, try_lock_for, or try_lock_until) on m.
3) Copy constructor is deleted.

The behavior is undefined if m is destroyed before the lock_guard object is.

[edit] Parameters

m - mutex to acquire ownership of
t - tag parameter used to select non-locking version of the constructor

[edit] Exceptions

1) Throws any exceptions thrown by m.lock().
2) Throws nothing.