std::lock_guard<Mutex>:: lock_guard
From cppreference.net
<
cpp
|
thread
|
lock guard
C++
Concurrency support library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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)
不抛出任何异常。