https://preshing.com/这个人的blog里,关于memory order的相关文章都很好,写得很清楚。
真的有兴趣可以按文章里的方法对比一下编译出来的汇编代码。
应该是O2以后,又没有在代码级别给标识,所以两个thread的运行顺序被乱序了
【 在 ziqin 的大作中提到: 】
: 关于memory order,我仔细读了一个系列,具体链接忘了...但是基本来说,有两层乱序
: 1. 编译成汇编时,compiler会把原代码乱序
: 2. 汇编代码固定不变的情况下,cpu会把汇编代码乱序
: ...................
--
FROM 122.224.174.*