volatile 具备可见性,不具备线程安全

可见性:volatile修饰过的值,当一个线程修改过后。其他线程都能知道。即线程修改过后,会立即写回主内存;确保读操作每次都是从主内存读取

 

不具备线程安全:即多个线程进行自增1时,结果可能会比预期小。

模拟场景:

一个自增步骤:

1. 从主内存读取到工作内存,

2. 进行+1

3. 写回主内存。

A线程和B线程都经过步骤1,即从主内存读取,写回主内存时同时写,这就导致了两次自增写回的值一样,少了一次自增。

 

volatile的使用场景:

volatile 可见性理解

相关文章:

  • 2021-07-14
  • 2022-12-23
  • 2021-08-14
  • 2022-12-23
  • 2021-04-09
  • 2021-10-29
  • 2022-01-08
  • 2021-12-07
猜你喜欢
  • 2021-07-10
  • 2021-07-27
  • 2021-08-13
  • 2021-08-31
  • 2021-10-01
  • 2021-12-16
相关资源
相似解决方案