这是一个非常简短的问题,但无法从任何地方获得答案。

可以创建多个守护进程线程吗?

最佳答案

是。您可以简单地使用如下代码进行测试

Thread t1 = new Thread(()->{
    while(true){
        System.out.println("daemon1");
        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (Exception e) {}
    }
});
t1.setDaemon(true);

Thread t2 = new Thread(()->{
    while(true){
        System.out.println("daemon2");
        try {
            TimeUnit.SECONDS.sleep(2);
        } catch (Exception e) {}
    }
});
t2.setDaemon(true);

t1.start();
t2.start();

try {
    TimeUnit.SECONDS.sleep(5);
} catch (Exception e) {}
System.out.println("main thread stopped");


输出:

daemon1
daemon2
daemon1
daemon2
daemon1
daemon1
daemon1
daemon2
daemon1
main thread stopped


如您所见,两个守护程序同时运行。另外,由于没有其他非守护进程线程,因此应用程序停止了。

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

10-11 09:22