- 1.volatile本質:是java虛擬機器(JVM)當前變數在工作記憶體中的值是不確定的,需要從主記憶體中讀取;synchronized則是鎖定當前的變數,只有當前執行緒可以訪問到該變數,其他的執行緒將會被阻塞。
- 2.volatile只能實現變數的修改可見性,並不能保證原子性;而synchronized則可以保證變數的修改可見性和原子性。
- 3.volatile只能使用在變數級別;synchronized則可以使用在變數、方法、和類級別的。
- 4.volatile不會造成執行緒的阻塞;synchronized可能會造成執行緒的阻塞。
synchronized和volatile的區別
相關文章
- volatile和synchronized的區別synchronized
- Java中volatile和synchronized的區別Javasynchronized
- volatile與synchronized的區別synchronized
- volatile和synchronized的區別與聯絡[轉]synchronized
- Volatile關鍵字&&DCL單例模式,volatile 和 synchronized 的區別單例模式synchronized
- Lock 和 synchronized的區別synchronized
- synchronized和volatile理解synchronized
- volatile和synchronized到底啥區別?多圖文講解告訴你synchronized
- JAVA 裡static 和volatile的區別Java
- Java中的volatile的作用和synchronized作用Javasynchronized
- synchronized與Lock的區別synchronized
- 理解並正確使用synchronized和volatilesynchronized
- synchronized函式和synchronized程式碼塊有什麼區別?synchronized函式
- 全面解讀volatile和synchronize,輕鬆掌握Volatile與Synchronizedsynchronized
- 多執行緒的指令重排問題:as-if-serial語義,happens-before語義;volatile關鍵字,volatile和synchronized的區別執行緒APPsynchronized
- synchronized與ReentrantLock的區別synchronizedReentrantLock
- Synchronized 與 ReentrantLock 的區別synchronizedReentrantLock
- 多執行緒基礎之synchronized和volatile執行緒synchronized
- Java synchronized與ReentrantLock的區別JavasynchronizedReentrantLock
- Lock、Synchronized鎖區別解析synchronized
- 記憶體可見性和原子性:Synchronized和Volatile的比較記憶體synchronized
- 【面試普通人VS高手系列】lock和synchronized區別面試synchronized
- synchronized與Lock的區別與使用詳解synchronized
- volatile變數與普通變數的區別變數
- Java併發2:JMM,volatile,synchronized,finalJavasynchronized
- 打工人,從 JMM 透析 volatile 與 synchronized 原理synchronized
- Synchronized ,Volatile,Lock 三者不可告人的祕密synchronized
- Java虛擬機器13:互斥同步、鎖優化及synchronized和volatileJava虛擬機優化synchronized
- ../和./和/的區別
- 既然synchronized是"萬能"的,為什麼還需要volatile呢?synchronized
- 和 的區別
- as 和 with的區別
- ||和??的區別
- /*和/**的區別
- 從JMM透析volatile與synchronized原理,圖文並茂synchronized
- Synchronized、lock、volatile、ThreadLocal、原子性總結、Conditionsynchronizedthread
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- http和https的區別/get和post的區別HTTP