Volatile和Synchronized對可見性和原子性的支持

在學習併發編程的時候,遇見了volatile和synchronized關鍵字問題,volatile是可以保證可見性,但無法保證原子性,synchronized關鍵字由於其是加鎖機制,肯定是可以保證原子性的。但是它能保證可見性嗎?也就是說被synchronized包裹的變量的值被修改後會立即送往主內存中嗎?帶着這個問題,我們繼續往下看。

結論:volatile關鍵字只是用來修飾變量,並且保證變量的可見性;synchronized關鍵字只是用來修飾方法和代碼塊,並且保證裏面的所有操作是原子性和可見性的。

詳細內容請參看(寫的真好):
volatile和synchronized的區別與聯繫

Java併發編程:volatile關鍵字解析。以及volatile和synchronize的區別

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章