可以杀死守护线程吗? [复制]
Posted
技术标签:
【中文标题】可以杀死守护线程吗? [复制]【英文标题】:Can Daemon Threads be killed? [duplicate] 【发布时间】:2013-11-04 10:35:51 【问题描述】:我对@987654321@有一个不错的想法
但我想知道我们是否可以终止守护线程,或者何时在 Java 中终止守护线程?
【问题讨论】:
只有你有+10正义之剑。 【参考方案1】:关于守护线程的想法是,当最后一个非守护线程结束时,应用程序也结束。守护线程无法保持 JVM 运行
【讨论】:
答案如何? 这是一个部分答案,因为它说当JVM用完非守护线程时守护线程结束。【参考方案2】:如果这两个条件之一为真,则结束一个守护线程:
线程从run()
方法返回
虚拟机已终止
要主动结束(守护程序)线程,最常用的方法是向线程发出终止请求的信号,线程应定期检查此请求,并在发出此类请求后自行结束。
【讨论】:
【参考方案3】:守护线程是在后台运行的线程。这些线程由 JVM 默认启动。我们也可以通过程序启动一个守护线程。
当一个主程序启动时,唯一启动的非守护线程是主线程,其余(GC ets)是守护线程。
当没有非守护线程运行时,这些线程会自动终止,因为之后 JVM 会自行终止。
【讨论】:
以上是关于可以杀死守护线程吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章