Java中有两种线程,一种是用户线程,另一种是守护线程。
用户线程:指用户自定义创建的线程,主线程停止,用户线程不会停止(和主线程互不影响)
守护线程 :当进程不存在或主线程停止,守护线程也会被停止。(gc就是守护线程)(和主线程一起销毁)
使用setDaemon(true)方法设置为守护线程
下面的这个例子可以通过setDaemon(true)方法来体现出守护线程和非守护线程的区别。
package com.newDemo.controller.test;
public class threadDemo5 {
public static void main(String[] args) {
Thread t1=new Thread(new Runnable() {
public void run() {
for (int i = 1; i < 30; i++) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("子线程,i:" + i);
}
}
});
t1.setDaemon(true);//该线程为守护线程 和主线程一起销毁
t1.start();
for (int i = 1; i < 5; i++) {
System.out.println("主线程,i:" + i);
}
}
}