併發(二)——volatile理解

首先,確定一點就是volatile不具備原子性,但是擁有可見性,並且在一定程度上擁有有序性。 不具備原子性的原因: 因爲可以認爲是三個步驟 根據jmm理解,從主內存獲取變量的值,並將其放入線程工作內存 工作區中的變量副本執行加一操作 再將工作內存寫入主內存 其中線程一和線程二有可能同時執行1,然後再執行2,3步驟的時候,就會重複賦同樣的值。 可見性和有序性原因 volatile擁有指令重排和內存屏
相關文章
相關標籤/搜索