Hi,大家好,我是Mic

一个工作了3年的粉丝,在面试的时候遇到一个线程相干问题。

想让我帮他解答一下。

问题是,“什么是守护线程,它有什么特点”

上面看看高手的答复。

高手:

好的。

守护线程,它是一种专门为用户线程提供服务的线程,它的生命周期依赖于用户线程。

只有JVM中依然还存在用户线程正在运行的状况下,守护线程才会有存在的意义。

否则,一旦JVM过程完结,那守护线程也会随之完结。

也就是说,守护线程不会阻止JVM的退出。然而用户线程会!

守护线程和用户线程的创立形式是完全相同的,咱们只须要调用用户线程外面的setDaemon办法并且设置成true,

就示意这个线程是守护线程。

因为守护线程领有本人完结本人生命的个性,所以它适宜用在一些后盾的通用服务场景外面。

比方JVM外面的垃圾回收线程,就是典型的应用场景。

这个场景的非凡之处在于,当JVM过程技术的时候,内存回收线程存在的意义也就不存在了。

所以不能因为正在进行垃圾回收导致JVM过程无奈技术的问题。

然而守护线程不能用在线程池或者一些IO工作的场景外面,因为一旦JVM退出之后,守护线程也会间接退出。

就会可能导致工作没有执行完或者资源没有正确开释的问题。

以上就是我对这个问题的了解。

总结

这个问题,大部分工作年限比拟长的同学也不肯定能答复上来。

首先线程这个畛域在业务开发中自身应用就比拟少

而守护线程接触就更少了。

我始终认为,只有积攒足够多的技术,能力更从容的应答将来久远的职业倒退。

喜爱我作品的小伙伴,记得点赞珍藏加关注。

版权申明:本博客所有文章除特地申明外,均采纳 CC BY-NC-SA 4.0 许可协定。转载请注明来自 Mic带你学架构
如果本篇文章对您有帮忙,还请帮忙点个关注和赞,您的保持是我一直创作的能源。欢送关注同名微信公众号获取更多技术干货!