关键字volatile

来源:互联网 发布:怎么能让淘宝店铺靠前 编辑:程序博客网 时间:2024/06/05 03:03

volatile:

1 主要作用:(1)是使变量在多个线程间可见 (2)强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值;

2 缺点:(1)最致命的是不支持原子性

3 volatile与synchronized的区别:(1)volatile是线程同步的轻量级实现,性能肯定比synchronized好,只能修饰变量,而syschronized可以修饰方法,代码块

(2)多线程访问volatile不会发生阻塞,而synchronized会发生阻塞;(3)volatile能保证数据的可见性,但不能保证原子性;而synchronized会保证原子性,也可以间接保证可见性,因为它会将私有内存和公共内存中的数据做同步(3)volatile解决的是变量在多个线程之间的可见性,而synchronized解决的是多个线程之间访问资源的同步性;

原创粉丝点击