[JUC-15] Volatile


文章目录

  • 1、Volatile 是什么
  • 2、保证可见性
    • 2.1 没有可见性的案例
    • 2.2 实现可见性
  • 3、不保证原子性
    • 3.1 不保证原子性的案例
    • 3.2 实现原子性
  • 4、禁止指令重排
    • 4.1 指令重排现象
    • 4.1 Volatile 禁止指令重排原理

1、Volatile 是什么 ??前提,要掌握 Volatile 关键字,就得掌握 JMM。
??JMM 学习链接:Java 内存模型
??volatile 是一个类型修饰符。volatile 的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略。
【[JUC-15] Volatile】??volatile 的特性:
??1、保证了不同线程对这个变量进行操作时的可见性;
??2、不保证原子性;
?

    推荐阅读