闲杂--01

1.sync和volatile区别:

  1)volatile比synchronized更轻量级。

  2)volatile没有synchronized使用的广泛。

  3)volatile不需要加锁,比synchronized更轻量级,不会阻塞线程。

  4)从内存可见性角度看,volatile读相当于加锁,volatile写相当于解锁。

  5)synchronized既能保证可见性,又能保证原子性,而volatile只能保证可见性,无法保证原子性。

  6)volatile本身不保证获取和设置操作的原子性,仅仅保持修改的可见性。但是java的内存模型保证声明为volatile的long和double变量的get和set操作是原子的。

2.  

posted @ 2021-09-30 10:51  所在丶  阅读(37)  评论(0)    收藏  举报