

在锁层次上具体说明


二.volatile


深入剖析volatile关键字
volatile是一个轻量级的同步机制。用来修饰共享可变变量,对volatile变量的读写操作都是从高速缓存或者主内存中读取。
volatile的作用
volatile关键字被称为轻量级锁,能保证可见性和有序性。不同的是原子性方面仅能保证写volatile变量操作的原子性,但没有锁的排他性。而且不会引起上下文的切换。


保证可见性(强制刷新在主存,其他线程缓存无效)和有序性(禁止指令重排序),这些都是上面的用内存屏障完成的.
volatile:
https://www.cnblogs.com/chenssy/p/6379280.html
网友评论