网易游戏雷火面试题更新 2026-08-05

有一个原子布尔变量 a 和一个原子布尔变量 b,写线程依次将 b 置为 true,再置 a 为 true;读线程循环读取 b,当读到 true 时立即读取 a。请分析在 C++ 中(使用 std::atomic<bool>)读线程可能读到 a 的哪些值?

网易游戏雷火前端/移动开发问题拆解技术原理C++

考察说明

考察原子操作的内存序对多线程可见性的影响

回答思路

  1. 能识别默认内存序为 seq_cst
  2. 能分析在默认内存序下读线程读到 a 的状态
  3. 能说明如果使用 relaxed 内存序可能读到不同值
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。