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) (C++11以降)
lock_guard ( mutex_type & m, std:: adopt_lock_t t ) ;
(2) (C++11以降)
lock_guard ( const lock_guard & ) = delete ;
(3) (C++11以降)

指定されたミューテックス m の所有権を取得します。

1) 実質的に m. lock ( ) を呼び出します。
2) ミューテックス m の所有権を取得する(ロック取得は試行しない)。現在のスレッドが m に対する非共有ロック( lock try_lock try_lock_for 、または try_lock_until によって取得されたロック)を保持していない場合、動作は未定義である。
3) コピーコンストラクタは削除されています。

m lock_guard オブジェクトより先に破棄された場合、動作は未定義です。

パラメータ

m - 所有権を取得するミューテックス
t - コンストラクタの非ロック版を選択するために使用されるタグパラメータ

例外

1) m. lock ( ) によってスローされる例外をスローします。
2) 例外を送出しない。