当多个线程进行操作共享数据时,可以保证内存中的数据可见。其原理是它调用了计算机底层代码叫内存栅栏,它时时刻刻把缓存当中的数据刷新到主存当中,可以理解为它的操作就是在主存当中完成的。使用了Volatile关键字后效率也会相对低一些,因为JVM底层有个优化重排序,如果使用了Volatile关键字修饰后不能重排序了
当多个线程进行操作共享数据时,可以保证内存中的数据可见。其原理是它调用了计算机底层代码叫内存栅栏,它时时刻刻把缓存当中的数据刷新到主存当中,可以理解为它的操作就是在主存当中完成的。使用了Volatile关键字后效率也会相对低一些,因为JVM底层有个优化重排序,如果使用了Volatile关键字修饰后不能重排序了