為了提高效率采取的優(yōu)化。包括:1:編譯器重排序:編譯的時候重排序2:指令級并行重排序:cpu對指令對重排序3:內存重排序:由于緩存的問題(實際上是store buffer),讀取還未刷新的主內存等情況。
上述對單線程不影響,沒有共享變量的多線程也不影響,但是影響存在共享變量的多線程。由于存在重排序,所以后面的代碼B可能被排在A前面,影響了A的可見性,