Java 中的 volatile关键字含义

Java 中的 volatile 关键字有两个主要的作用,一个是保证内存的可见性,还有一个作用就是禁止指令重排序的发生。

上面我们已经简答的提到了 volatile 关键字的作用,一个是保证内存的可见性,还有防止指令重排序。

下面再来解释一下内存可见性

内存可见性:当一条线程修改了某个值,这个新值对于其他的线程是立即可见的,普通的变量不具备这个特征


下面说结论,被 volatile 关键字修饰的变量不是线程安全的,因为 volatile 不能保证原子性。

再另外的说一句,被 synchronized 修饰的代码块具备原子性。

猜你喜欢

转载自www.cnblogs.com/wylwyl/p/10500615.html