gpt4 book ai didi

java - 子线程阻塞java中的父线程

转载 作者:行者123 更新时间:2023-11-29 07:04:26 25 4
gpt4 key购买 nike

   public static void main(String[] args) throws Exception {
new Thread(new Runnable() {
public void run() {
while(true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Hello");
}
}
}).run();
System.out.println("Bye");
}

在主线程中,我创建了一个新线程,它将每秒打印“hello”。为什么最后的“再见”从来没有打印过?也就是说,为什么子线程会阻塞主线程?

最佳答案

因为您正在调用 run(),而不是 start()

您绝不能直接调用run()。如果您调用 start(),程序将在不同的线程中为您调用 run()。 (如您所愿。)通过自己调用 run(),您将进入父线程的 run() 方法,并陷入一个永恒的循环,你的父线程。

关于java - 子线程阻塞java中的父线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21443320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com