博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
boost共享锁
阅读量:5314 次
发布时间:2019-06-14

本文共 537 字,大约阅读时间需要 1 分钟。

C++ 自带的临界区、Mutex等只支持唯一锁,这对性能是有很大影响的。

Boost提供共享锁功能,能够对读写区分加锁。在系统性能优化时,是一个需要考虑的问题。

// 头文件
#include <boost/thread/shared_mutex.hpp>
#include <boost/thread.hpp>
typedef boost::shared_mutex                Lock;                    
typedef boost::unique_lock<Lock>    WriteLock;
typedef boost::shared_lock<Lock>    ReadLock;

Lock  myLock;           mutex对象定义

void ReadFunc()

{
    ReadLock  r_lock(myLock);         // 加读锁
  //  处理代码
}

void WriteFunc()

{
    WriteLock  w_lock(myLock);      // 加写锁
   // 处理代码
}
锁住的对象都是myLock;  可以同时加多个读锁,但是一旦加写锁时,就不能加别的读锁和写锁

转载于:https://www.cnblogs.com/ityujian/archive/2013/04/30/3051865.html

你可能感兴趣的文章
20180620小测
查看>>
7年,OpenStack从入门到放弃|送书
查看>>
部署mariadb高可用
查看>>
iptables设置规则
查看>>
聊聊setTimeout和setInterval线程
查看>>
计算机经典书箱
查看>>
克隆节点及添加属性节点
查看>>
SQL入门经典(八)之存储过程
查看>>
Chrome/FireFox处理JSON的插件
查看>>
【转】ACM之Java新手速成
查看>>
日志分析工具 Log Parser
查看>>
18 HTML标签以及属性全
查看>>
vim 复制操作
查看>>
【codeforces 789C】Functions again
查看>>
【t067】补充装备
查看>>
【t060】可怜的波特
查看>>
解决Storm 和yarn 8080 端口冲突
查看>>
tensorflow 前向传播 2019.07.19
查看>>
MVP设计模式
查看>>
安装完CentOS 7 Minimal之后,从头打造桌面工作环境
查看>>