面试真题

C++ · 中等 · 亚信安全

atomic应用场景以及五种操作方法

中等 C++ 🎤 亚信安全
参考答案
结论:std::atomic提供多线程无锁原子操作,避免数据竞争;应用场景:1.并发计数器;2.线程间标志位(如退出标志);3.无锁栈/队列等结构;五种常用操作:1.store(val)原子写;2.load()原子读;3.exchange(val)读旧写新;4.compare_exchange_weak/strong(exp,des)CAS;5.fetch_add(n)原子加法(或fetch_sub);原理:通过CPU原子指令(如x86 LOCK前缀)保证指令不可中断;对比互斥锁,原子操作更轻量但仅支持简单类型。
题目整理自公开面经,答案由校招宝自研生成,仅供参考