取消
显示结果 
搜索替代 
您的意思是: 

最新主题

我是一名Java程序员,在试验线程可见性的问题时,写了一段代码程序,请看: public class VolatileFaceThread{ boolean isRunning = true; void m() { System.out.println("isRunning start"); while(isRunning) { } System.out.println("is... 查看更多...
我是一名Java程序员,在试验线程可见性的问题时,写了一段代码程序,请看: public class VolatileFaceThread{ boolean isRunning = true; void m() { System.out.println("isRunning start"); while(isRunning) { } System.out.println("isRunning end"); } public static void main(String[] args) { VolatileFaceThread vft = new VolatileFaceThread(); new Thread(vft :: m).start(); try { TimeUnit.SECONDS.sleep(1); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } vft.isRunning = false; System.out.println("update isRunning..."); } } 预期效果:新开启的线程,将会一直运行下去 实际效果:在主线程更新isRunning后,新启线程也停止了。 我在我同事的电脑上运行,以及其他电脑上运行,结果均为预期效果。 请查看是何原因??
† 惠普支持社区是一个客户交流平台,便于客户找到有效的解决方法,快速解决问题,充分利用惠普产品。请在发帖之前,阅读社区的使用条款注册须知。