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

【folly】folly::atomic_shared_ptr

folly::atomic_shared_ptr

folly::atomic_shared_ptr<T> 是 Facebook 的 Folly 库提供的一个 线程安全的 std::shared_ptr 原子封装器。它弥补了标准 C++ 中 std::shared_ptr 不能直接进行原子读写的缺陷(直到 C++20 引入 std::atomic<std::shared_ptr<T>>)。在更早的 C++ 标准下,或者在更强的性能/兼容性要求下,folly::atomic_shared_ptr 是非常实用的。
#include <folly/synchronization/AtomicSharedPtr.h>
#include <memory>
#include <thread>
#include <iostream>struct MyObj {int x;MyObj(int v) : x(v) {}
};folly::atomic_shared_ptr<MyObj> g_ptr;void reader() {for (int i = 0; i < 10; ++i) {auto ptr = g_ptr.load();  // 原子加载if (ptr) {std::cout << "Reader sees: " << ptr->x << std::endl;}}
}void writer() {for (int i = 0; i < 10; ++i) {g_ptr.store(std::make_shared<MyObj>(i));  // 原子替换}
}int main() {std::thread t1(reader);std::thread t2(writer);t1.join();t2.join();
}

 

http://www.njgz.com.cn/news/1037.html

相关文章:

  • 千万级的大表如何新增字段?
  • 系统巡检参考1
  • 思通数科AI人群监控系统:公共安全的“高空智慧眼”
  • 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-23- 操作鼠标拖拽 - 番外篇(详细教程) - 北京
  • 告别邮件和U盘:跨团队科研合作,如何实现安全、高效的文件同步?
  • 服务状态检查
  • 局域网IP地址扫描
  • Win11系统无法退出工作组的问题
  • 昂瑞微发布新一代超低功耗蓝牙 SoC 芯片 OM662966276626,六大升级引领行业新标杆
  • B2008 计算 (a+b)c 的值
  • Zabbix5.0.34源码安装参考
  • ansible-lnmp
  • STRING 类型字段创建索引总结
  • 更改用户名
  • B2025 输出字符菱形
  • 常见的慢SQL示例及其优化后的SQL脚本
  • B2002 Hello,World!
  • python 中 ORM 是什么 如何使用?
  • 盈鹏飞嵌入式带你玩转T113系列tina5 SDK(1)-Tina SDK开发环境搭建
  • 揭秘LummaStealer恶意软件:虚假验证码如何攻陷预订网站
  • 2025年最佳网络监控工具Top8
  • salt安装配置
  • 代码雨
  • WIFI模块-ESP芯片开发框架(ESP32/ESP8266)
  • IQ-tree绘制进化树3-验证
  • 9.回文数
  • Linux 核心目录说明
  • PCIe扫盲——Ack Nak 机制详解(一)
  • OI 数学定理(提高级)
  • BSC系统合约详解 - 若