僅靠Volatile不能保證線程的安全性(原子性)
1、Volatile輕量級的,只能修飾變量。synchronize重量級的,還可以修飾方法
2、Volatile只保證數據的可見性,不能用來同步,因為多線程訪問Volatile變量不會阻塞
3、synchronize不僅保證可見性,而且保證原子性,因為自由獲得了鎖的線程才能到達臨界區,從而保證了臨界區中的所有語句被執行,多個線程搶奪synchronize鎖的時候,會出現阻塞。
注意:Volatile不具有原子性,不保證線程的安全。