1.16、原子操作是什么?
原子操作(Atomic Operation)是指在多线程或多处理器环境下,执行时不可被中断的操作。它保证了操作的不可分割性——一旦开始执行,就会一直执行到完成,中间不会被线程切换或其他操作干扰,从而避免竞态条件和数据不一致问题。
在C++中,原子操作由标准库中的std::atomic
模板类支持,提供了对基本类型和用户自定义类型的原子访问。它不仅保证单个操作的原子性,还支持多种内存序(memory order),以控制操作的可见性和重排序,满足不同的同步需求。例如,std::atomic
提供了原子加载(load)、存储(store)、比较交换(compare_exchange)等操作,这些操作在编译器和CPU层面都不会被拆分或重排。
本文首发于【讳疾忌医-note】公众号,未经授权,不得转载。
(加入我的知识星球,免费获取账号,解锁所有文章。)
阅读剩余
版权声明:
作者:讳疾忌医-note
链接:https://www.1217zy.vip/archives/1220
文章版权归作者所有,未经允许请勿转载。
THE END