日期: 2022 年 10 月 9 日

1 篇文章

【施工中】C++原子变量与内存序:无锁编程的原理
1. 问题的引入 1.1. 多线程带来的三个问题 在多线程编程下,程序的运行结果可能并不如我们所预料的一致。这主要是由以下三种原因导致的: 1.1.1. 非原子操作 原子操作(atomic operation)指不会被线程调度机制中断的一个或一系列操作。从汇编的角度去思考,我们会发现C/C++中有不少常见语句在编译成汇编语言后,往往被转换成了多条汇…