gpt4 book ai didi

java守护线程

转载 作者:行者123 更新时间:2023-12-02 14:01:18 26 4
gpt4 key购买 nike

大家好,当封闭的守护线程完成时,守护线程会停止工作吗?或者当“主”线程完成时守护线程将停止?

我在 jre6 上测试了这个示例,结果是当封闭的线程完成时,守护线程停止工作。请注意,java 文档说,当没有其他应用程序线程剩余时,守护程序线程将被终止。并且并没有说当父非守护线程保留时守护线程会被杀死。

请给我答案。请向我发送有关此问题的任何 Material 。对不起我的英语。

public class Main {
public static void main(String[] args) {
Thread simple = new Thread(new SimpleTask());
simple.start();
}
}

class SimpleTask implements Runnable {
public void run() {
try {
Thread daemon = new Thread(new DaemonTask());
daemon.setDaemon(true);
daemon.start();
Thread.sleep(5000);
} catch (InterruptedException e) {}
};
}

class DaemonTask implements Runnable {
public void run() {
int i = 0;
while (true) {
try {
System.out.println("a" + (i++));
Thread.sleep(500);
} catch (InterruptedException e) {}
}
}
}

最佳答案

will daemon thread stop working when the enclosing it thread will finish?

Java 中没有“封闭线程”这样的概念。有线程,但很少使用。

守护线程只是不能阻止 JVM 终止的线程。当没有任何非守护线程剩余时,JVM 将终止。如果仍有一些非守护线程在执行,JVM 将继续运行,包括所有守护线程 - 无论启动这些守护线程的线程是否已完成。

关于java守护线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8677945/

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