美文网首页
守护线程

守护线程

作者: 风吹过山 | 来源:发表于2017-04-06 17:37 被阅读0次

在Java中有两类线程:用户线程 (User Thread)、守护线程 (Daemon Thread)。

守护线程,是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因此,当所有的用户线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。

用户线程和守护线程没有什么区别,唯一的不同之处就在于虚拟机的离开:如果用户线程已经全部退出运行了,只剩下守护线程存在了,虚拟机也就退出了。

开启守护线程:调用Thread对象的setDaemon(true)方法来实现,但需要注意以下几点:

(1) thread.setDaemon(true)必须在thread.start()之前设置开启,否则会跑出一个IllegalThreadStateException异常。你不能把正在运行的常规线程设置为守护线程。

(2) 在Daemon线程中产生的新线程也是Daemon的。

(3) 守护线程应该永远不去访问固有资源,如文件、数据库,因为它会在任何时候甚至在一个操作的中间发生中断。

相关文章

  • 线程知识点复习(一)

    守护线程与非守护线程: java中有两条线程:1.守护线程,2.非守护线程(用户线程)守护线程与main主线程同时...

  • 2018-09-19 守护线程与非守护线程

    什么是守护线程、非守护线程? 什么是守护线程,和main有关。 用户线程(非守护线程): 守护线程,有一个特征,和...

  • Java多线程之<<守护线程>>实战

    定义 什么是守护线程?与守护线程相对应的就是用户线程,守护线程就是守护用户线程,当用户线程全部执行完结束之后,守护...

  • 什么是守护线程

    守护线程定义与守护线程相对应就是用户线程,用户线程可以理解为系统工作的线程,而守护线程守护的就是用户线程。当用户线...

  • Java多线程 - 第二章

    守护线程 Java的线程分为两种:User Thread(用户线程)、DaemonThread(守护线程) 守护线...

  • java线程分类

    守护线程 java中有两类线程,用户线程(User Thread)和守护线程(Daemon Thread)。 守护...

  • java——多线程讲解三

    java多线程的补充:守护线程(后台线程)守护线程:在一个进程中如果只剩下了守护线程,那么守护线程也会死亡。任何一...

  • 守护线程

    守护线程 什么是守护线程? 守护线程:一种特殊的线程,驻守在线程后台,完成系统性的工作,当启动守护线程的线程结束时...

  • 问题:什么是守护线程,使用场景是什么,如何创建守护线程

    问题 什么是守护线程?使用场景是什么?如何创建守护线程? 答案 守护线程 守护线程通常执行一些任务,当所有非守护线...

  • java并发之守护线程

    java中有两种线程,用户线程和守护线程用户线程:主线程停止时,用户线程不会停止守护线程:主线程停止时,守护线程也...

网友评论

      本文标题:守护线程

      本文链接:https://www.haomeiwen.com/subject/qmjqattx.html