我正在读这篇文章,所以关于守护程序线程和答案底部的报价是:
但加入妖魔线程很可能会打开 麻烦!
为什么究竟被视为不良习惯?我了解.join()
块,无论该线程是否是守护程序,但我不明白为什么它被认为是不良练习。有人可以解释吗?
守护程序线程的相关性及其定义是,它不会阻止JVM在程序完成时退出,但线程仍在运行。
对于任何线程,旨在在程序完成之前运行和结束,是守护程序线程。
从此合乎逻辑的结论是,只要程序运行。
,任何设计良好因此,在守护程序线程上加入意味着连接将阻塞,直到守护程序螺纹结束为止,假设它是设计良好的守护程序线程,从来没有。如果此阻止join()
防止执行进一步的有用代码,那将永远不会发生,并且可能会卡住您的代码。