Volatile與synchronize的區別


僅靠Volatile不能保證線程的安全性(原子性)

 

1、Volatile輕量級的,只能修飾變量。synchronize重量級的,還可以修飾方法

 

2、Volatile只保證數據的可見性,不能用來同步,因為多線程訪問Volatile變量不會阻塞

 

3、synchronize不僅保證可見性,而且保證原子性,因為自由獲得了鎖的線程才能到達臨界區,從而保證了臨界區中的所有語句被執行,多個線程搶奪synchronize鎖的時候,會出現阻塞。

 

注意:Volatile不具有原子性,不保證線程的安全。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM