std::mutex使用以及std::lock"/>
C++11 std::mutex使用以及std::lock
文章目录
- **std::mutex**
- std::mutex 的成员函数
- 示例
- **std::lock_guard**
std::mutex
头文件是<mutex>
,mutex是用来保证线程同步的,防止不同的线程同时操作同一个共享数据。使用比较简单,定义之后,调用加锁解锁函数即可。
std::mutex m;
m.lock();
//被保护的操作
m_unlock();
下面以 std::mutex 为例介绍 C++11 中的互斥量用法。
std::mutex 是C++11 中最基本的互斥量,std::mutex 对象提供了独占所有权的特性——即不支持递归地对 std::mutex 对象上锁,而 std::recursive_lock 则可以递归地对互斥量对象上锁。
std::mutex 的成员函数
- 构造函数,std::mutex不允许拷贝构造,也不允许 move 拷贝,最初产生的 mutex 对象是处于 unlocked 状态的。
- lock(),调用线程将锁住该互斥量。线程调用该函数会发生下面 3 种情况:(1). 如果该互斥量当前没有被锁住,则
更多推荐
C++11 std::mutex使用以及std::lock
发布评论