2016 - 2024

感恩一路有你

synchronized底层原理 volatile和synchronized的区别与联系?

浏览量:1359 时间:2021-03-13 11:03:30 作者:admin

volatile和synchronized的区别与联系?

volatile和synchronized之间的区别:

1。volatile的本质是告诉JVM寄存器(工作内存)中当前变量的值是不确定的,需要从主存中读取;synchronized是锁定当前变量,只有当前线程可以访问该变量,其他行被阻塞。

2. Volatile只能在变量级别使用;synchronized可以在变量、方法和类级别使用。

3. Volatile只能实现变量修改的可见性和原子性,synchronized可以保证变量修改的可见性和原子性。

4. Volatile不会导致线程阻塞;synchronized可能会导致线程阻塞。

5. 用volatile标记的变量不会被编译器优化;用synchronized标记的变量可以被编译器优化。

synchronized底层原理 cas认证 cas不使用volatile

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。