std::lock_guard<Mutex>::lock_guard
来自cppreference.com
< cpp | thread | 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) 不抛出