• 【Java面试】什么是守护线程,它有什么特点


    Hi,大家好,我是Mic

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

    想让我帮他解答一下。

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

    下面看看高手的回答。

    高手:#

    好的。

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

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

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

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

    守护线程和用户线程的创建方式是完全相同的,我们只需要调用用户线程里面的setDaemon方法并且设置成true,

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

    因为守护线程拥有自己结束自己生命的特性,所以它适合用在一些后台的通用服务场景里面。

    比如JVM里面的垃圾回收线程,就是典型的使用场景。

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

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

    但是守护线程不能用在线程池或者一些IO任务的场景里面,因为一旦JVM退出之后,守护线程也会直接退出。

    就会可能导致任务没有执行完或者资源没有正确释放的问题。

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

    总结#

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

    首先线程这个领域在业务开发中本身使用就比较少

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

    我始终认为,只有积累足够多的技术,才能更从容的应对未来长远的职业发展。

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

    file

    版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mic带你学架构
    如果本篇文章对您有帮助,还请帮忙点个关注和赞,您的坚持是我不断创作的动力。欢迎关注「跟着Mic学架构」公众号公众号获取更多技术干货!

  • 相关阅读:
    音频采集的相关基础知识
    【算法题解】2022河南萌新联赛第(三)场:河南大学
    分享一个springboot+uniapp基于微信小程序的校医务室健康服务系统源码 lw 调试
    Struts.xml 配置文件说明
    【JAVA】Retrofit详解和使用
    实战:django项目环境搭建(pycharm,virtualBox)
    返回引用类型的函数指针(c++)
    element-plus el-button 自定义添加icon的方法
    分省/市/县最低工资标准(2012-2021年)和 全国/省/市/县GDP数据(1949-2020年)
    7、Nacos配置管理
  • 原文地址:https://www.cnblogs.com/mic112/p/16447086.html