没有合适的资源?快使用搜索试试~ 我知道了~
queue_atomic:使用C ++ 11原子的多生产者多消费者队列模板
共6个文件
h:3个
cc:1个
makefile:1个
需积分: 50 6 下载量 34 浏览量
2021-04-27
12:51:34
上传
评论 1
收藏 8KB ZIP 举报
温馨提示
queue_atomic 使用C ++ 11原子的多生产者多消费者队列模板。 通过将单调递增的版本号打包到队列的前后偏移量中,解决了ABA问题并实现了两阶段有序更新。 通过检查预期的版本计数器在打包的前后偏移量中是否可见来检测到有争议的情况。 在更新期间,将根据偏移量中包含的版本检查版本计数器,如果偏移量是最新的,则版本计数器会自动增加,数据会被存储(push_back)或检索到(pop_front),最后阶段则是前端或back offset会自动使用新版本和offset进行更新。 仅当版本计数器与打包到偏移量中的版本匹配时,数据才在另一个线程中可见。 在通常情况下,前后偏移始终会增加,并且缓冲区偏移是根据队列大小计算的模数。 在单个生产者单个消费者的情况下,queue_atomic是完全无锁的 queue_atomic可以在多生产者多消费者模式下使用,但是当有竞争时它将旋转调用s
资源推荐
资源详情
资源评论
收起资源包目录
queue_atomic-master.zip (6个子文件)
queue_atomic-master
README.md 4KB
rdtsc.h 876B
queue_std_mutex.h 1KB
test_queue.cc 13KB
queue_atomic.h 13KB
Makefile 122B
共 6 条
- 1
资源评论
BugHunter666
- 粉丝: 28
- 资源: 4699
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功