notesArea/Java/多线程/用户线程与守护线程.md

用户线程与守护线程

用户线程

当所有用户线程都结束时,JVM 会退出。

特点

  • 生命周期:只要有一个用户线程在执行,JVM 就不会退出
  • 重要性:用户线程通常用于执行应用程序的主要任务,例如处理业务逻辑和执行计算
  • 关闭 JVM:JVM 只有在所有用户线程都结束后才会退出,即使还有守护线程在运行

使用场景

适用于需要执行重要任务且不能中途被终止的线程。例如:执行用户请求的线程、执行主要业务逻辑的线程

守护线程

守护线程是为其他线程提供服务和支持的线程。换句话说,如果用户线程不存在了,那么守护线程也就失去了存在的意义,因此 JVM 的退出只需要考虑是否还有用户线程在运行,而不需要考虑守护线程。

使用场景

JVM 的垃圾回收线程、日志记录线程、监控和统计线程等。

大纲
文件