-
volatile的作用
- 可以强制让线程从公共内存中读取,而不是从工作内存读取。
- volatile与synchronization区别:
- volatile关键字是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好;volatile只能修饰变量,而synchronized可以修饰方法,代码块,随着jdk版本的发布,synchronized的执行效率也有较大的提升,在开发中使用synchronized的比率还是比较大的
- 多线程访问volatile变量不会发生阻塞,而synchronized可能会阻塞
- volatile能够能保障数据的可见性,但是不能保证原子性;而synchronized可以保证原子性和可见性
- 关键字volatile解决的是变量在多个线程之间的可见性;synchronized关键字解决多个线程之间访问公共资源的同步性
-
volatile非原子性
- 如果使用synchronized则就不需要volatile
轻量级同步机制:volatile关键字
最新推荐文章于 2024-07-14 22:18:32 发布