这是一个 main 函数的内容,当打印行被注释时,它会阻塞,但在打印行未被注释时它会按预期执行。
为什么单个打印行会改变整个 while 循环的行为?(在完全不执行和成功完成之间。这是可重复的,我可以多次注释和取消注释该行,并且我得到相同的结果:它仅在打印未注释时才有效。
对印刷电话的这种奇怪效果有什么合理的解释吗?
MainGUI.main(args);
DeviceManager device = DeviceManager.getInstance();
MainGUI gui = null;
while(true){
if(device.getGui() != null){
gui = laser.getGui();
if(gui.isLoaded()){
gui.getMainView().getFrame().setLocation(0, 0);
break;
}
}
// System.out.print("");
}
println 可能会减慢紧循环的执行速度,足以将处理器让给代码完成所需的其他线程。我敢打赌,Thread.sleep(5);
会做类似的事情。