多线程笔记(七):volatile 是用来干嘛的

1.可以保证可变变量的可见性,防止内存的重排序

2.汇编指令部分,使用 volatile 修饰的变量,会添加一个 "lock"前缀------>使用缓存锁来保证缓存一致性问题(MESI机制),从而保证可见性

3.通过内存屏障(如下4种内存屏障),防止指令的重排序

    loadload barrier
    storestore barrier
    loadstore barrier
    storeload barrier 

发布了247 篇原创文章 · 获赞 44 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/lzb348110175/article/details/103665855
今日推荐