1.可以保证可变变量的可见性,防止内存的重排序
2.汇编指令部分,使用 volatile 修饰的变量,会添加一个 "lock"前缀------>使用缓存锁来保证缓存一致性问题(MESI机制),从而保证可见性
3.通过内存屏障(如下4种内存屏障),防止指令的重排序
loadload barrier
storestore barrier
loadstore barrier
storeload barrier
1.可以保证可变变量的可见性,防止内存的重排序
2.汇编指令部分,使用 volatile 修饰的变量,会添加一个 "lock"前缀------>使用缓存锁来保证缓存一致性问题(MESI机制),从而保证可见性
3.通过内存屏障(如下4种内存屏障),防止指令的重排序
loadload barrier
storestore barrier
loadstore barrier
storeload barrier