std::lock_guard<Mutex>::lock_guard
来自cppreference.com
< cpp | thread | lock guard
并发支持库
|
|
std::lock_guard
成员函数 | ||||
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) 不抛出