可見,volatile關(guān)鍵字跟鎖完全是不同的概念,那它究竟有什么用捏?
volatile只是“盡可能”的保證你的讀取無誤。
它修飾的是變量,會(huì)強(qiáng)制每個(gè)線程對(duì)該變量的寫操作實(shí)時(shí)更新到堆內(nèi)存并同步到其他線程的棧內(nèi)存。
所以說呀,實(shí)際應(yīng)用中如果變量的值不經(jīng)常變(如:狀態(tài)值),可以考慮用volatile替換synchronized。
可見,volatile關(guān)鍵字跟鎖完全是不同的概念,那它究竟有什么用捏?
volatile只是“盡可能”的保證你的讀取無誤。
它修飾的是變量,會(huì)強(qiáng)制每個(gè)線程對(duì)該變量的寫操作實(shí)時(shí)更新到堆內(nèi)存并同步到其他線程的棧內(nèi)存。
所以說呀,實(shí)際應(yīng)用中如果變量的值不經(jīng)常變(如:狀態(tài)值),可以考慮用volatile替換synchronized。