定义于头文件
<mutex>
|
||
class recursive_mutex;
|
(C++11 起) | |
recursive_mutex
类是同步原语,能用于保护共享数据免受从个多线程同时访问。
recursive_mutex
提供排他性递归所有权语义:
lock
或 try_lock
开始的时期里占有 recursive_mutex
。此时期间,线程可以进行对 lock
或 try_lock
的附加调用。所有权的时期在线程调用 unlock
匹配次数时结束。
recursive_mutex
时,若其他所有线程试图要求 recursive_mutex
的所有权,则它们将阻塞(对于调用 lock
)或收到 false 返回值(对于调用 try_lock
)。
recursive_mutex
次数的最大值是未指定的,但抵达该数后,对 lock
的调用将抛出 std::system_error 而对 try_lock
的调用将返回 false 。
若 recursive_mutex
在仍为某线程占有时被销毁,则程序行为未定义。 recursive_mutex
类满足互斥 (Mutex
) 和标准布局类型 (StandardLayoutType
) 的所有要求。
目录 |
成员类型 | 定义 |
native_handle_type (可选)
|
实现定义 |
构造互斥 (公开成员函数) |
|
销毁互斥 (公开成员函数) |
|
operator=
[删除]
|
不可复制赋值 (公开成员函数) |
锁定 |
|
锁定互斥,若互斥不可用则阻塞 (公开成员函数) |
|
尝试锁定互斥,若互斥不可用则返回 (公开成员函数) |
|
解锁互斥 (公开成员函数) |
|
原生句柄 |
|
返回底层实现定义的线程句柄 (公开成员函数) |