gpt4 book ai didi

java - 为什么在守护线程上调用 Join 不好

转载 作者:行者123 更新时间:2023-11-30 07:51:09 27 4
gpt4 key购买 nike

我正在读这个SO post关于守护线程,答案底部的引述是:

But joining a demonized thread opens most likely a whole can of trouble!

为什么它被认为是不好的做法?我理解 .join() block ,无论线程是否是守护进程,但我不明白为什么它被认为是不好的做法。谁能解释一下?

最佳答案

守护线程及其定义的相关性在于,当程序完成但线程仍在运行时,它不会阻止 JVM 退出。

对于任何线程,设计为在程序完成之前运行和结束,成为守护线程是没有用的。

据此可以合理地得出结论:任何设计良好的守护线程都被设计为只要程序运行就运行

因此,在守护线程上加入意味着加入将阻塞,直到守护线程结束,假设它是一个设计良好的守护线程,永远不会。如果此阻塞 join() 阻止执行更多有用的代码,那将永远不会发生,而且您的代码可能会被卡住。

关于java - 为什么在守护线程上调用 Join 不好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47415918/

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