gpt4 book ai didi

java - Thread setDaemon(true) 挂起 Tomcat Shutdown

转载 作者:行者123 更新时间:2023-11-28 22:37:36 25 4
gpt4 key购买 nike

最近我修复了 Tomcat Shutdown 中的一个错误。这是由于当 Tomcat 尝试自行关闭时一些线程卡在那里。

我所做的与此类似:

https://github.com/craigmingtaozhang/RxJava/blob/master/rxjava-core/src/main/java/rx/schedulers/EventLoopsScheduler.java

public Thread newThread(Runnable r) {
Thread t = new Thread(r, "RxComputationThreadPool-" + counter.incrementAndGet());
t.setDaemon(true);
return t;
}

我在其他情况下发现了类似的问题:

https://issues.apache.org/jira/browse/KAFKA-1305?jql=project%20%3D%20KAFKA%20AND%20resolution%20%3D%20Unresolved%20AND%20priority%20%3D%20Blocker%20ORDER%20BY%20key%20DESC

谁能帮忙解释一下使用setDaemon的优缺点?

最佳答案

setDaemon(true) 将特定线程标记为守护进程。守护线程是一种特殊的线程 - JVM 不必等到它们完成才能关闭(通过完成 main() 方法)。

您可能希望守护线程执行非关键的清理工作,例如收集一些统计数据。

很难说它的优缺点,但我尽力解释了它的想法和可能的用法。

关于java - Thread setDaemon(true) 挂起 Tomcat Shutdown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23698134/

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