1)volatile性能肯定比synchronized要好,并且volatile只能修饰变量,而synchronized可以修饰方法以及代码块
2)多线程访问volatile不会阻塞,而synchronized会出现阻塞
3)volatile能保证数据的可见性,但不能保证原子性;而synchronized可以保证原子性也可以间接保证可见性,因为它会将私有内存和公共内存中的数据做同步。
另外:
关键字volatile的作用是强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值。
1)volatile性能肯定比synchronized要好,并且volatile只能修饰变量,而synchronized可以修饰方法以及代码块
2)多线程访问volatile不会阻塞,而synchronized会出现阻塞
3)volatile能保证数据的可见性,但不能保证原子性;而synchronized可以保证原子性也可以间接保证可见性,因为它会将私有内存和公共内存中的数据做同步。
另外:
关键字volatile的作用是强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值。
317

被折叠的 条评论
为什么被折叠?
