32 多线程(五)——守护线程

守护线程概念

  • 线程分为守护线程与用户线程
  • 虚拟机必需确保用户线程得以执行完毕
  • 虚拟机无需确认守护线程执行完毕
  • 守护线程如后台日志记录,内存监控之类
  • 英文为: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");
		}
	}
}

  

原文地址:https://www.cnblogs.com/Scorpicat/p/11984025.html