GUARDED_BY是一个应用在数据成员上的属性,它声明了数据成员被给定的监护权保护。对于数据的读操作需要共享的访问权限,而写操作需要独占的访问权限。

PT_GUARDED_BY与之类似,只不过它是为指针和智能指针准备的。对数据成员(指针)本身没有任何限制,它保护的是指针指向的数据。

【例1】

  mutable absl::Mutex stream_mutex_;std::deque<Packet> queue_ GUARDED_BY(stream_mutex_);

【c++】GUARDED_BY(c) 和 PT_GUARDED_BY(c)相关推荐

  1. muduo之mutex和condition

    线程同步所需的mutex和condition,记录一下. Mutex.h // Use of this source code is governed by a BSD-style license / ...

  2. c++的线程安全静态检查

    在阅读leveldb源码的过程中,发现很多成员变量被GUARDED_BY修饰,如下: struct IterState {port::Mutex* const mu;Version* const ve ...

  3. muduo之CountDownLatch.cc

    CountDownLatch用线程同步的. CountDownLatch.h // Use of this source code is governed by a BSD-style license ...

  4. muduo之ThreadPool

    muduo中的线程池. ThreadPool.h // Use of this source code is governed by a BSD-style license // that can b ...

  5. muduo之BlockingQueue

    BlockingQueue是muduo是无界队列,利用队列(deque)实现,向队列中加入和取出元素用互斥量和条件变量结合的方式来操作,就是一个线程同步的问题. BlockingQueue.h // ...

  6. muduo之EventLoopThread

    muduo用EventLoopThread提供了对应eventloop和thread的封装,意为I/O线程类,EventLoopThread可以创建一个IO线程,通过startLoop返回一个IO线程 ...

  7. muduo之TcpClient

    muduo用TcpClient发起连接,TcpClient有一个Connector连接器,TCPClient使用Conneccor发起连接, 连接建立成功后, 用socket创建TcpConnecti ...

  8. muduo之EventLoop

    EventLoop.cc就相当于一个reactor,多线程之间的函数调用(用eventfd唤醒),epoll处理,超时队列处理,对channel的处理.运行loop的进程被称为IO线程,EventLo ...

  9. Tensorflow源码解析3 -- TensorFlow核心对象 - Graph

    1 Graph概述 计算图Graph是TensorFlow的核心对象,TensorFlow的运行流程基本都是围绕它进行的.包括图的构建.传递.剪枝.按worker分裂.按设备二次分裂.执行.注销等.因 ...

  10. LevelDB 源码剖析(九)DBImpl模块:Open、Get、Put、Delete、Write

    文章目录 Open Get Put.Delete.Write Open 数据库 Open 操作主要用于创建新的 LevelDB 数据库或打开一个已存在的数据库.Open 操作的主要函数共需传递 3 个 ...

最新文章

  1. 有奖活动:写书评赢O'Reilly Velocity大会门票
  2. Markdown 语法说明
  3. unity 批量导入模型工具_零基础的Unity图形学笔记3:使用多模型UV与优化模型导出...
  4. 如何在MyBatis中优雅的使用枚举
  5. 多个命令执行结果输出到同一个文件(批处理)
  6. 全国二级c语言考试题型,2016年电大 -全国计算机二级c语言考试题型及考试重点.doc...
  7. Cover Protocol首次对xCOVER进行回购
  8. C语言学习笔记—code:blocks工具debug调试异常
  9. 激光雷达厂商速腾聚创获3亿元融资,阿里菜鸟、上汽,北汽入股
  10. C#datagidview创立数据库,实现读写数据视频
  11. text-overflow:ellipsis的巧妙运用
  12. Elasticsearch 实现自定义排序插件(转载)
  13. 标准差公式中,分母是n还是n-1?
  14. 15136-34-2,Cyclo(Leu-Trp),c(Leu-Trp),cyclo-L-Trp-L-Leu
  15. 科创板拟上市企业申联生物和传音控股已提交注册
  16. response.getWriter().write()和 response.getWriter().print()的区别 以及 PrintWriter对象 和 out对象 的区别
  17. 第十章:手机摄像头实现光学变焦的七种方法
  18. 35. 我用Compose开发了一款音视频处理app
  19. Debian10更改源
  20. Water Flow Optimizer 水流优化器

热门文章

  1. 学生用计算机cf82es,计算器(fx-82ES)玩得好是可以很变态的(必看)(6页)-原创力文档...
  2. 蚌埠学院计算机操作系统题库,蚌埠学院电子教务登录
  3. apple ID 注册 此时无法创建您的账户
  4. 网站服务器ftp破解,Wing FTP Server(FTP服务器)
  5. phython入门开始
  6. “秒抢红包”锁屏勒索病毒样本分析
  7. 275. H指数 II
  8. 分时线的9代表什么_一位从亏损到稳赚的老股民告诉你:为什么要打板?
  9. mbp touchbar设置_Macbook Pro 上 有什么好的 Touchbar 使用技巧?
  10. C#对Dictionary的按Value排序