有大佬知道为什么这个程序不会产生死循环呢???
public class VoDemo {
private static int num = 0 ;
public static void main(String[] args) {
new Thread(()->{
while (num==0){
}
}).start();
new Thread(()->{
try {
TimeUnit.SECONDS.sleep(5);
} catch (InterruptedException e) {
e.printStackTrace();
}
num=1;
System.out.println(num);
}).start();
}
}
本文探讨了一个Java程序中两个线程的交互过程。主线程启动后等待一个标志变量num改变,而另一个线程在延迟5秒后修改该变量。通过这种设计避免了死循环的发生。
5838

被折叠的 条评论
为什么被折叠?



