守护线程概念
- 线程分为守护线程与用户线程
- 虚拟机必需确保用户线程得以执行完毕
- 虚拟机无需确认守护线程执行完毕
- 守护线程如后台日志记录,内存监控之类
- 英文为:daemon
我们需要强调的就是:虚拟机无需等待守护线程执行完毕,当所有用户线程执行完毕后,程序就关闭。
讲一个进程设置为线程的方法为:
线程对象.setDaemon(true);
package _20191204;
/**
* 守护线程 Deamon
* @author UID
* jvm无需等待守护线程结束,它只需等待用户线程结束
*/
public class Demo05_Daemon {
public static void main(String[] args) {
Thread t1 = new Thread(new Human());
Thread t2 = new Thread(new God());
t2.setDaemon(true);//将t2线程设置为守护线程
t1.start();
t2.start();
}
}
class Human implements Runnable{
@Override
public void run() {
for(int i = 0; i < 365; i++) {
System.out.println("alive:"+i+"day!");
}
}
}
class God implements Runnable{
@Override
public void run() {
while(true) {
System.out.println("bless you");
}
}
}