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

-server运行


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

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

猜你喜欢

转载自blog.csdn.net/weixin_38289196/article/details/79537781
今日推荐