在C++并发编程中,你使用过哪些内存序(memory order)?它们分别有什么作用,如何选择?
考察说明
考察对C++原子操作内存序的理解与正确使用能力
回答思路
- 能列出memory_order_relaxed、acquire、release、acq_rel、seq_cst并解释其语义
- 能说明各内存序适用的典型场景(如计数器、发布订阅、锁实现)
- 能指出默认seq_cst的开销及何时可以放宽
- 能结合实际中的正确性风险(如数据竞争、重排序)说明选择依据
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。