通過一個形象的例子描述java中的指令重排

1.概述 指令重排實際上是對指令的"優化"。指令重排指的是給定的順序和實際上執行的順序不一致。在程序執行過程中,有不到萬分之一的概率會產生指令重排。指令重排不能違背"happen-before"(先發生 - 要想使用這個東西,之前必須先有這個東西)原則。在多線程執行相同代碼的前提下,如果產生指令重排,就會導致多個線程獲取到了不同的結果 - 結果產生了二相性 - 在多線程條件下,一般會禁止指令重排
相關文章
相關標籤/搜索