请说明 std::atomic 类的基本使用方式,并解释其与 volatile、互斥锁在并发场景下的区别。
考察说明
考察对 C++ 原子类型的使用、内存模型及并发安全边界的理解
回答思路
- 能给出 std::atomic 的基本操作,如 load、store、exchange、CAS
- 能说明 std::atomic 保证无锁的原子性及防止数据竞争
- 能对比 volatile 不提供原子性、互斥锁提供原子性但可能阻塞
- 能区分默认顺序一致性与 relaxed、acquire/release 内存序的使用场景
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。