-server多线程由于可见性导致死循环

-server运行

-server多线程由于可见性导致死循环

正确运行应该在睡眠2秒后调用getStop()以后停止循环,但是由于虚拟机性能的优化可能只在开始的时候第一次读取stop的值为false之后就不会在读取stop的值。

正确的方法应该在把private boolean stop改为 private voliate boolean stop,这样虚拟机就会每次都会去内存中读取stop的值了

相关文章:

  • 2022-12-23
  • 2021-07-19
  • 2021-10-12
  • 2022-01-02
  • 2022-01-11
  • 2022-12-23
猜你喜欢
  • 2021-06-11
  • 2021-06-05
  • 2021-08-25
  • 2021-10-15
  • 2021-10-17
  • 2021-11-29
相关资源
相似解决方案