当前位置: 首页 > article >正文

为什么C++标准库中atomic shared_ptr不是lockfree实现?

为什么C++标准库中atomic shared_ptr不是lockfree实现?


shared_ptr 做成 lock_free,应该是没有技术上的可行性。shared_ptr 比一个指针要大不少:最近很多小伙伴找我,说想要一些C++的资料,然后我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C++资料从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!

评论区回复“888”,关注我之后私信回复“666”,即可拿走。

1. 它可以是一个指向成员函数的指针,这货通常比普通指针大一些,有可能大50%或100%,看平台与实现吧;

2. 它可以有自定的释放函数,又多一个指针;

3. 它支持观察者,这个不会是无代价的。

总之,share_ptr 的体积不小,不太可能有哪个平台能够支持这种体量的无锁原子操作。至于自旋锁之类,肯定是不能通用的,否则死锁了算谁的?

f4eabf2a081f507a6128e11e0c97a96e.jpeg


http://www.kler.cn/a/132260.html

相关文章:

  • 填充每个节点的下一个右侧节点指针
  • wpf devexpress Property Grid创建属性定义
  • Oracle OCP / MySQL OCP认证容易通过吗
  • es 算法函数 有点不太懂了没有大神给指点一下
  • 【2】SM2验签工具和RSA验签工具
  • 【漏洞复现】IP-guard WebServer 远程命令执行
  • element el-date-picker报错Prop being mutated:“placement“快速解决方式
  • rviz是如何获取图像里选择的点云的3D坐标的
  • vue3 - pinia 中的 storeToRefs
  • 五、函数的介绍
  • 大数据毕业设计选题推荐-机房信息大数据平台-Hadoop-Spark-Hive
  • 初识MongoDB及安装
  • Struts 类型转换之局部和全局配置
  • Redis:java和SpringBoot中使用Redis
  • 小程序里面循环使用ref的话获取不到
  • java:springboot单元测试spring-boot-starter-test
  • UnoCss(原子化css引擎) 让你的开发更轻松愉快
  • 通信原理板块——奇偶监督码、方阵码、恒比码、正反码
  • 千年TGS服务器日志报错如何解决
  • Typora for Mac:打造全新文本编辑体验