前几天,划水群关于线程空方法体死循环引用静态变量,无法获取变量最新值(901476449 )几个大佬正在划水,突然一段代码为各位大佬吹响了装13的号角。如下:

关于线程空方法体死循环引用静态变量,无法获取变量最新值

一般认为3秒过后必定死翘翘。当然我方菜鸟也这么认为。结果 呜呜呜~~ 吗的都tm两分钟了还在跑。。

之后经过大佬提(嘲)点(讽) ,添加关键字volatile即可

关于线程空方法体死循环引用静态变量,无法获取变量最新值

but why?

volatile 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。(实现可见性) 

以及内存模型相关

关于线程空方法体死循环引用静态变量,无法获取变量最新值

 

 

 

 

 

相关文章:

  • 2022-02-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-10
  • 2021-10-18
  • 2021-09-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-13
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案