ev-stdexec-atomic-ref-load-store-003¶
| 字段 | 值 |
|---|---|
| 项目 | NVIDIA/stdexec |
| 固定 commit | 6d7ad689f4d4 |
| 路径 | include/exec/linux/io_uring_context.hpp |
| 行段 | L239-L240 |
| 特性 | std::atomic_ref |
| 许可证 | Apache-2.0 |
| 代码来源 | 项目源码 |
| 级别 | manual |
| 审核 | zyuhao7 @ 2026-10-26 |
| 测试代码 | 否 |
| 发现方式 | manual |
用法¶
对共享队列指针执行 relaxed 与 acquire 加载
为什么典型¶
提交前读取 tail 与 head 时使用不同内存序,atomic_ref 让普通映射内存获得与 std::atomic 相同的序控制。
摘录¶
__u32 __tail = __tail_.load(STDEXEC::__std::memory_order_relaxed);
__u32 __head = __head_.load(STDEXEC::__std::memory_order_acquire);
备注¶
生产路径;同一文件 276 行用 release 存储发布 tail。