Skip to content

Latest commit

 

History

History
15 lines (9 loc) · 508 Bytes

volatile.md

File metadata and controls

15 lines (9 loc) · 508 Bytes

volatile

线程可见性变量,一个线程A对一个变量a的修改,另一个线程B,可以到A线程的修改a之后新的值

但是注意volatile 在进行算数运行的时候,并不能保证线程安全

本质

  • 解决指令重排序的问题
  • 内存的可见性(内存平整,写无效,写直达)

问题

  • 多线程并发修改变量为什么会出现线程安全问题?本质原因是什么?
  • volatile 是如何解决上面的线程安全问题的呢?