您当前的位置: 首页 >  ar
  • 0浏览

    0关注

    1477博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++ boost共享锁 unique_lock shared_lock

软件工程小施同学 发布时间:2021-08-18 17:03:53 ,浏览量:0

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

Boost提供共享锁功能,能够对读写区分加锁。 // 头文件 #include #include typedef boost::shared_mutex                Lock;                     typedef boost::unique_lock    WriteLock; typedef boost::shared_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

关注
打赏
1665320866
查看更多评论
立即登录/注册

微信扫码登录

0.0404s