【c++】GUARDED_BY(c) 和 PT_GUARDED_BY(c)
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)相关推荐
- muduo之mutex和condition
线程同步所需的mutex和condition,记录一下. Mutex.h // Use of this source code is governed by a BSD-style license / ...
- c++的线程安全静态检查
在阅读leveldb源码的过程中,发现很多成员变量被GUARDED_BY修饰,如下: struct IterState {port::Mutex* const mu;Version* const ve ...
- muduo之CountDownLatch.cc
CountDownLatch用线程同步的. CountDownLatch.h // Use of this source code is governed by a BSD-style license ...
- muduo之ThreadPool
muduo中的线程池. ThreadPool.h // Use of this source code is governed by a BSD-style license // that can b ...
- muduo之BlockingQueue
BlockingQueue是muduo是无界队列,利用队列(deque)实现,向队列中加入和取出元素用互斥量和条件变量结合的方式来操作,就是一个线程同步的问题. BlockingQueue.h // ...
- muduo之EventLoopThread
muduo用EventLoopThread提供了对应eventloop和thread的封装,意为I/O线程类,EventLoopThread可以创建一个IO线程,通过startLoop返回一个IO线程 ...
- muduo之TcpClient
muduo用TcpClient发起连接,TcpClient有一个Connector连接器,TCPClient使用Conneccor发起连接, 连接建立成功后, 用socket创建TcpConnecti ...
- muduo之EventLoop
EventLoop.cc就相当于一个reactor,多线程之间的函数调用(用eventfd唤醒),epoll处理,超时队列处理,对channel的处理.运行loop的进程被称为IO线程,EventLo ...
- Tensorflow源码解析3 -- TensorFlow核心对象 - Graph
1 Graph概述 计算图Graph是TensorFlow的核心对象,TensorFlow的运行流程基本都是围绕它进行的.包括图的构建.传递.剪枝.按worker分裂.按设备二次分裂.执行.注销等.因 ...
- LevelDB 源码剖析(九)DBImpl模块:Open、Get、Put、Delete、Write
文章目录 Open Get Put.Delete.Write Open 数据库 Open 操作主要用于创建新的 LevelDB 数据库或打开一个已存在的数据库.Open 操作的主要函数共需传递 3 个 ...
最新文章
- 有奖活动:写书评赢O'Reilly Velocity大会门票
- Markdown 语法说明
- unity 批量导入模型工具_零基础的Unity图形学笔记3:使用多模型UV与优化模型导出...
- 如何在MyBatis中优雅的使用枚举
- 多个命令执行结果输出到同一个文件(批处理)
- 全国二级c语言考试题型,2016年电大 -全国计算机二级c语言考试题型及考试重点.doc...
- Cover Protocol首次对xCOVER进行回购
- C语言学习笔记—code:blocks工具debug调试异常
- 激光雷达厂商速腾聚创获3亿元融资,阿里菜鸟、上汽,北汽入股
- C#datagidview创立数据库,实现读写数据视频
- text-overflow:ellipsis的巧妙运用
- Elasticsearch 实现自定义排序插件(转载)
- 标准差公式中,分母是n还是n-1?
- 15136-34-2,Cyclo(Leu-Trp),c(Leu-Trp),cyclo-L-Trp-L-Leu
- 科创板拟上市企业申联生物和传音控股已提交注册
- response.getWriter().write()和 response.getWriter().print()的区别 以及 PrintWriter对象 和 out对象 的区别
- 第十章:手机摄像头实现光学变焦的七种方法
- 35. 我用Compose开发了一款音视频处理app
- Debian10更改源
- Water Flow Optimizer 水流优化器
热门文章
- 学生用计算机cf82es,计算器(fx-82ES)玩得好是可以很变态的(必看)(6页)-原创力文档...
- 蚌埠学院计算机操作系统题库,蚌埠学院电子教务登录
- apple ID 注册 此时无法创建您的账户
- 网站服务器ftp破解,Wing FTP Server(FTP服务器)
- phython入门开始
- “秒抢红包”锁屏勒索病毒样本分析
- 275. H指数 II
- 分时线的9代表什么_一位从亏损到稳赚的老股民告诉你:为什么要打板?
- mbp touchbar设置_Macbook Pro 上 有什么好的 Touchbar 使用技巧?
- C#对Dictionary的按Value排序