Java的守护线程和非守护线程

关键词: 进程,线程,守护线程,非守护线程

1.  进程

       进程是指运行中的应用程序,每个进程都有自己独立的内存空间。它是系统进行资源分配和调度的基本单位。进程由程序段、相关的数据段和PCB(进程控制块)三个部分构成。

2.  线程

       线程是指进程中能够独立执行的控制流,它是cpu调度和分派的基本单位,一个进程可以由多个线程组成,即在一个进程中可以同时运行多个不同的线程。主要分为:守护线程和非守护线程。

3.  非守护线程

       非守护线程也称为用户线程,是程序运行的主要线程,主要的业务逻辑是在非守护线程中实现的,主线程以及我们创建的子线程均为非守护线程。

4.  守护线程

       守护线程(也称Daemon进程)是为线程服务的,是在后台提供通用性支持的线程,守护线程的优先级最低,守护线程与用户线程写法上基本没有什么区别,用户线程可以被设置为守护线程,只要在调用start()方法之前调用setDaemon(true)即可。Java垃圾回收线程就是一个守护线程。 守护线程在没有用户线程可服务时自动离开。




写博不易,转载请注