volatile和synchronized的比较
2017-09-25 22:13
155 查看
1)volatile性能肯定比synchronized要好,并且volatile只能修饰变量,而synchronized可以修饰方法以及代码块
2)多线程访问volatile不会阻塞,而synchronized会出现阻塞
3)volatile能保证数据的可见性,但不能保证原子性;而synchronized可以保证原子性也可以间接保证可见性,因为它会将私有内存和公共内存中的数据做同步。
另外:
关键字volatile的作用是强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值。
2)多线程访问volatile不会阻塞,而synchronized会出现阻塞
3)volatile能保证数据的可见性,但不能保证原子性;而synchronized可以保证原子性也可以间接保证可见性,因为它会将私有内存和公共内存中的数据做同步。
另外:
关键字volatile的作用是强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值。
相关文章推荐
- volatile与synchronized使用比较
- 原子变量、volatile、synchronized的可见性和原子性比较
- 多线程之volatile与synchronized的比较
- JAVA多线程同步:volatile,synchronized,Atomic... 比较
- Java多线程之内存可见性——synchronized与volatile比较
- 内存可见性和原子性:Synchronized和Volatile的比较
- JAVA多线程之volatile 与 synchronized 的比较
- Java并发编程之九:实现内存可见性的两种方法比较:synchronized和Volatile
- Java多线程之synchronized和volatile的比较
- synchronized和volatile比较
- JAVA多线程之volatile 与 synchronized 的比较
- synchronized和volatile比较
- java多线程编程-volatile与synchronized之前的比较
- Java 多线程之 synchronized 和 volatile 的比较
- Java实现内存可见性的两种方法比较:synchronized 和 Volatile以及涉及到锁的剖析
- 关键字synchronized和volatile比较
- Java 多线程之 synchronized 和 volatile 的比较
- Java线程中的volatile和synchronized的比较
- 内存可见性和原子性:Synchronized和Volatile的比较
- synchronized和volatile比较 (r)