用途:指导代理理解 C++ 与 Rust 内存模型,涵盖内存序、happens-before 关系、原子操作、栅栏以及无锁数据结构的实用模式。
主要能力:介绍内存序强度(Relaxed < Release/Acquire < AcqRel < SeqCst);对照 C++(如 memory_order_relaxed、memory_order_acquire、memory_order_release、memory_order_acq_rel、memory_order_seq_cst)与 Rust(Ordering::Relaxed、Acquire、Release、AcqRel、SeqCst)的语义;说明 std::atomic 用法与 acquire-release 保证;提供选择正确内存序的决策思路;给出自旋锁、引用计数、一次性初始化等常见模式,以及 publisher/subscriber 发布数据示例。
使用方式:资料按工作流展开,先做内存序总览,再逐条对照内存序、std::atomic、如何选择、常见模式、Rust 原子类型、栅栏与常见错误。示例包括 C++ 的 ready.store/ready.load 搭配 release/acquire,以及 Rust 的 AtomicBool 与 Ordering::Release/Acquire 发布订阅。栅栏部分说明 std::atomic_thread_fence 可提供不针对具体变量的排序。
适用场景:理解内存序与顺序一致性、编写无锁队列等无锁数据结构、使用 std::atomic 或 Rust 原子类型、排查并发编程中的重排与可见性问题。
限制:资料未提供收费、价格、平台、性能基准或具体安装步骤;未给出完整可运行项目,代码片段仅作说明。若需内存序规则与 happens-before 参考,原文指向 references/cpp-memory-ordering.md;并发缺陷检测可结合 TSan、Rust Miri、汇编与 GDB 相关技能。