【Java】synchronized和volatile的比较

  • volatile是线层同步的轻量级的实现,并且volatile只能修饰变量。而synchronized可以修饰方法和代码块
  • 多线程访问volatile不会发生阻塞,而synchronized会出现阻塞。
  • volatile解决的是变量在多个线程之间的可见性,但不能保证原子性;而synchronized保证原子性,也可间接保证可见性,因为它会将私有内存和公共内存中的数据做同步。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章