volatile关键字如何保证有序性和可见性

1.对于加了volatile关键字的成员变量,在这个变量进行修改时,会直接将CPU高级缓存的数据写回主内存,对这个变量的读取也直接从主内存读取,从而保证了可见性

2.在对volatile修饰的成员变量进行读写时,会插入内存屏障,而内存屏障可以禁止重排序的效果,从而可以保证有序性

注:Volatile无法保证原子性

你可能感兴趣的:(JAVA,volatile关键字)