多线程--守护线程与非守护线程

## 多线程--守护线程与非守护线程多线程




#### 1.什么是守护线程,什么是非守护线程ide


什么是守护线程,和main相关,用户线程,用户本身建立的线程,若是主线程中止掉,不会影响用户线程spa


用户线程也叫非守护线程线程


gc线程 (线程不定时回收垃圾)属于守护线程blog


当全部的非守护线程结束时,程序也就终止了,同时会杀死进程中的全部守护线程进程


图片



#### 2.守护线程特征:图片


有一个特征,和主线程一块儿销毁ci


#### 3.非守护线程特征:it


和主线程互不影响io


#### Java中有两种线程,一种是用户线程,另外一种是守护线程。


用户线程是指用户自定义建立的线程,主线程中止,用户线程不会中止


守护线程当进程不存在或主线程中止,守护线程也会被中止。


```

thread.setDaemon(true);  //设置为守护线程

代码以下 :

```



图片



#### 另外有几点须要注意:


一、setDaemon(true)必须在调用线程的start()方法以前设置,不然会抛出IllegalThreadStateException异常。


二、在守护线程中产生的新线程也是守护线程。

三、 不要认为全部的应用均可以分配给守护线程来进行服务,好比读写操做或者计算逻辑。




#### 除 JVM 内部的守护线程外,用户能够经过如下方法设置守护线程:


```

public final void setDaemon(boolean on)

```


能够经过如下方法查询线程是否为守护线程:


```

public final boolean isDaemon()

相关文章
相关标签/搜索