比如雙重鎖的單例模式
在線等!synchronized既然能保證有序性,為什么還需要用volatile防止指令重拍?跪求!
哈士奇WWW
2019-09-19 13:46:52
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個贊
synchronized只保證了代碼的有序性,但是變量的賦值操作依舊可以被編譯器優(yōu)化,此時會發(fā)生指令重排序;而volatile就是為了防止編譯器指令重排序的。具體可以看一下之前這個回答:指令重排序
舉報(bào)