Java多线程 守护线程

缺乏、安全感 2022-12-02 10:55 500阅读 0赞

文章目录

      • 守护线程的作用
      • 守护线程的三个特性
      • 守护线程面试题

守护线程的作用

作用: 给用户线程提供服务(比如jvm的垃圾处理线程). 如果现在的线程都是守护线程, 那么守护线程就会和jvm一起停止工作. 因为此时没有守护的对象了.

java虚拟机只有两种情况才会结束运行:

  1. 人为的调用System.exit(0); 此种情况很少.
  2. 大部分的情况是代码执行结束了. 虚拟机才会结束运行

我们自身写的代码虽然执行完毕了 ,但是其实背后很是会有很多的守护线程的, 但是这些守护线程不会影响jvm的关闭

守护线程的三个特性

  1. 线程的类型默认是继承自父线程的.(例如 ,我们自身写的代码, 创建的线程是继承自用户线程的, 因此我们的线程是用户线程. 守护线程创建的线程, 自动的就是守护线程. )
  2. 通常守护线程都是由jvm自动启动的. 而不是由用户去启动的.
  3. 守护线程不影响jvm的退出, 对于jvm而言, 只看有没有用户线程, 不看有没有守护线程.

守护线程与普通线程整体上无区别, 都是线程. 只是唯一的区别在于守护线程不会影响jvm的退出. 而普通线程会. 用户线程是执行逻辑的. 而守护线程是服务于我们的.

守护线程面试题

  1. 守护线程与普通线程的区别 . 上面已有答案.
  2. 是否须臾给线程设置为守护线程. (设置的方法为setDaemon(boolean on) 传入true)
    不应该把自己的线程, 设置为守护线程 , 因为可能设置成守护线程后, 该线程还没有执行完代码, 但是此时系统中,只剩下守护线程了, 就把该线程给关闭了. 导致数据丢失等后果.

发表评论

表情:
评论列表 (有 0 条评论,500人围观)

还没有评论,来说两句吧...

相关阅读

    相关 线守护线

    一、守护线程介绍 线程分为用户线程和守护线程,而守护线程就是为用户线程服务的一种线程,一般具有较低的优先级,用户线程停止,守护线程也就停止了。 举个例子:你在看电视,那

    相关 Java线守护线

    守护线程在没有用户线程可服务时自动离开,在Java中比较特殊的线程是被称为守护(Daemon)线程的低级别线程。这个线程具有最低的优先级,用于为系统中的其它对象和线程提供服务。

    相关 线-守护线

    守护线程的概念是: 当一个进程里,所有的线程都是守护线程的时候,结束当前进程。 就好像一个公司有销售部,生产部这些和业务挂钩的部门。 除此之外,还有后勤,行政等这