这个涉及了两个问题,一个是编译的时候a和b的赋值顺序会不会因为指令调度和源码不同,第二个是你题目里问的关于memory consistency的问题。对于memory consistency的问题,不同体系结构定义的memory model不同,像x86的类似total store order(TSO)的模型可以保证store保序,而有的模型可能就需要手动加fence.
【 在 wjhtingerx 的大作中提到: 】
: 比如:
: 线程1:
: b=2;
: ...................
--
FROM 111.206.173.*