線程-volatile

volatile:兩個作用 1:保證線程可見性 2:禁止指令重排序 1,2線程同時複製主內存的的flag,然後修改成false, 當從主內存讀取,以及修改後再賦值給主內存是不可控制的,所以,當1線程修改後但沒有賦值給主內存的時候,2線程也拿到主內存的數據,就出現線程不可見的問題   指令重排: int a=3,首先是分配內存,初始化,2是賦值,3是對象指向,當創建對象的時候, 可能 先1初始化,直
相關文章
相關標籤/搜索