首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么时候守护线程有用?

什么时候守护线程有用?
EN

Stack Overflow用户
提问于 2011-08-16 00:17:49
回答 7查看 20.6K关注 0票数 46

我知道守护线程后台线程。我们可以通过调用setDaemon(true)来创建我们自己的守护线程。

我的问题是:为什么以及何时需要将我们的线程创建为守护线程?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-08-16 00:24:57

当所有正在运行的线程都是守护线程时,JVM退出。所以想象一下,你正在写一个简单的游戏,你的main方法一直循环到你决定退出。想象一下,在游戏开始时,你启动了一个线程,它将无休止地轮询一些网站以触发警报。您可能希望JVM在您决定结束游戏时退出。您不希望无休止的轮询阻止游戏结束。因此,您将此轮询线程设置为守护线程。

票数 59
EN

Stack Overflow用户

发布于 2011-08-16 00:25:01

当所有“正常”线程都终止时,JVM会自动终止一个守护线程。普通线程永远不会自动终止。

票数 13
EN

Stack Overflow用户

发布于 2011-08-16 00:26:12

将用户线程设置为守护进程的主要用例是,您希望以用户线程的方式提供给消费者而不需要任何用户交互的服务。

因此,在用户线程存在之前,JVM可以保证守护线程持续运行。你可以找到像GC,UI Thread这样的例子。这些是守护进程。

希望能有所帮助。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7067578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档