开发者社区 问答 正文

volatile关键字底层是如何实现的?

volatile关键字底层是如何实现的?

展开
收起
萝卜丝丸子 2024-05-30 14:36:56 31 分享 版权
1 条回答
写回答
取消 提交回答
  • volatile关键字底层实现时,会多出一个lock前缀指令,它实际上相当于一个内存屏障。内存屏障会提供三个功能:确保指令重排序时不会把其后面的指令排到内存屏障之前的位置,也不会把前面的指令排到内存屏障的后面;强制将对缓存的修改操作立即写入主存;如果是写操作,它会导致其他CPU中对应的缓存行无效。

    2024-05-30 15:14:04
    赞同 展开评论
问答地址: