【Java】synchronized和volatile的比較

  • volatile是線層同步的輕量級的實現,並且volatile只能修飾變量。而synchronized可以修飾方法和代碼塊
  • 多線程訪問volatile不會發生阻塞,而synchronized會出現阻塞。
  • volatile解決的是變量在多個線程之間的可見性,但不能保證原子性;而synchronized保證原子性,也可間接保證可見性,因爲它會將私有內存和公共內存中的數據做同步。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章