深入理解Java中的volatile关键字(总结篇)
为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。volatile修饰的变量不允许线程内部缓存和重排序,即直接修改内存。 在 Java 中 volatile、synchronized 和 final 实现可见性。 原子是世界上的最小单位,具有不可分割性。本文,来分析一下另外一个关键字――volatile。volatile通常被比喻成"轻量级的synchronized",也是Java并发编程中比较重要的一个关键字。所以,如果一个变量被volatile所修饰的话,在每次数据变化之后,其值都会被强制刷入主存。因此,可以使用volatile来保证多线程操作时变量的可见性。这就是可能存在有序性问题。volatile可以禁止指令重排,这就保证了代码的程序会严格按照代码的先后顺序执行。
下载地址
用户评论