在java关闭挂钩中添加守护进程与非守护进程线程的区别
我在{a1}中看到了这一讨论。但我不清楚在ShutdownHook
中将线程标记为守护进程是否与将其标记为非守护进程相同
Thread t = new Thread(this::someMethod, "shutdown_hook");
t.setDaemon(true);
Runtime.getRuntime().addShutdownHook(t);
如果我不在上面的代码中执行t.setDaemon(true);
,那么行为是否相同
我正在使用Java8
# 1 楼答案
不管关闭钩子线程是否是守护进程,都没有区别
正如^{} 的规范所说
及
JDK实现遵循这些规则。正如我们在source code中看到的,
runHooks
启动钩子线程并等待它们全部完成: