lock_guard小解
来源:互联网 发布:深圳网络营销黑马网络 编辑:程序博客网 时间:2024/05/17 04:17
lock_guard的源代码就可以很轻易的总结它的特性
1.构造,析构是主要函数,用生命周期控制锁状态
2.无拷贝属性,默认拷贝函数被强制取消
3.成员为锁引用,这个是互斥的根本
template<class _Mutex>
class lock_guard
{ // class with destructor that unlocks mutex
public:
typedef _Mutex mutex_type;
explicit lock_guard(_Mutex& _Mtx)
: _MyMutex(_Mtx)
{ // construct and lock
_MyMutex.lock();
}
lock_guard(_Mutex& _Mtx, adopt_lock_t)
: _MyMutex(_Mtx)
{ // construct but don't lock
}
~lock_guard() _NOEXCEPT
{ // unlock
_MyMutex.unlock();
}
lock_guard(const lock_guard&) = delete;
lock_guard& operator=(const lock_guard&) = delete;
private:
_Mutex& _MyMutex;
};
1.构造,析构是主要函数,用生命周期控制锁状态
2.无拷贝属性,默认拷贝函数被强制取消
3.成员为锁引用,这个是互斥的根本
template<class _Mutex>
class lock_guard
{ // class with destructor that unlocks mutex
public:
typedef _Mutex mutex_type;
explicit lock_guard(_Mutex& _Mtx)
: _MyMutex(_Mtx)
{ // construct and lock
_MyMutex.lock();
}
lock_guard(_Mutex& _Mtx, adopt_lock_t)
: _MyMutex(_Mtx)
{ // construct but don't lock
}
~lock_guard() _NOEXCEPT
{ // unlock
_MyMutex.unlock();
}
lock_guard(const lock_guard&) = delete;
lock_guard& operator=(const lock_guard&) = delete;
private:
_Mutex& _MyMutex;
};
阅读全文
0 0
- lock_guard小解
- boost::lock_guard 线程同步
- Thread lock_guard 和 unique_lock
- 自解锁lock_guard
- std::mutex 、std::lock_guard
- boost::unique_lock vs boost::lock_guard
- lock_guard和unique_lock的区别
- std::lock_guard and std::unique_lock
- std::lock_guard std::unique_lock 区别
- 锁对象---lock_guard和unique_lock
- std::lock_guard 引起的思考
- 并发编程 C++11 lock_guard
- c++ 11 lock_guard/unique_lock详解
- LINQ 小解
- InvalidateRect()小解
- struts小解
- BASE64Decoder小解
- fprintf小解
- log4j生成log文件路径的设置
- Java异常
- 组合模式Composite Pattern
- Android 圆角/圆形view图片 描边
- springboot设置跨域
- lock_guard小解
- 数据结构实验之查找二:平衡二叉树
- 串口屏光标移动花屏的问题解决
- 玩蛇是肯定要玩的,不如就从今天开始吧
- js版算24点小游戏
- 使用caffe ssd中遇到的问题
- ios——注册通知的使用示例
- 细胞问题
- 图片的无序预加载基础实例