public class ThreadTest {
static boolean flag = false;//非volatile变量
public static void main(String[] args) throws Exception {
new Thread(() -> {
while (!flag) {
}
}).start();
Thread.sleep(1000);
flag = true;
System.out.println("主线程运行完毕");
}
}
你不是沉睡一秒后,变成true了么,那怎么会是死循环呢
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632