C++11中的原子量和内存序详解

2020-01-06 19:27:01于海丽

 

上面三个步骤中间是可以间隔的,并非原子操作,也就是说多个线程同时执行的时候可能出步骤的交叉执行,例如下面的情况:

 

step thread A thread B
1 i->reg  
2 inc-reg  
3   i->reg
4   inc-reg
5 reg->i  
6   reg->i