并发编程线程基础知识:守护线程

Posted 沛沛老爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并发编程线程基础知识:守护线程相关的知识,希望对你有一定的参考价值。

什么是守护线程

守护线程–也称“服务线程”,它是后台线程,在没有用户线程可服务时会自动离开。

守护线程优先级

守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务。

如何设置守护线程

通过 setDaemon(true)来设置线程为“守护线程”;将一个用户线程设置为守护线程的方式是在 线程对象创建之前用线程对象的 setDaemon 方法。

MyThread thread = new MyThread();
 //该线程为守护线程
thread.setDaemon(true); 
thread.start();
...
  • 在 Daemon 线程中产生的新线程也是 Daemon 的。

  • 线程是 JVM 级别的,如果你在应用程序中启动一个线程,当前线程的生命周期并不会和应用程序保持同步。

垃圾回收线程就是一个经典的守护线程,当垃圾回收线程是 JVM 上唯一的线程时,垃圾回收线程会自动离开。它始终在低级别的状态中运行,用于实时监控和管理系统中的可回收资源。

守护线程生命周期

守护进程是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种工作。也就是说守护线程不依赖于前端,只依赖于系统,与系统的生命周期一样。当 JVM 中所有的线程都是守护线程的时候,JVM 就可以退出了。

以上是关于并发编程线程基础知识:守护线程的主要内容,如果未能解决你的问题,请参考以下文章

并发编程线程基础知识:守护线程

Java——并发编程

并发编程之多线程基础-守护线程与非守护线程

Java并发编程75个问答

Java 并发编程 -- 并发编程线程基础(线程创建与运行线程通知与等待join / sleep / yield方法线程中断线程上下文切换死锁守护线程与用户线程ThreadLocal)

Java 并发编程 -- 并发编程线程基础(线程创建与运行线程通知与等待join / sleep / yield方法线程中断线程上下文切换死锁守护线程与用户线程ThreadLocal)