守护线程:1.线程分为用户线程和守护线程;
* 2.JVM必需确保用户线程执行完毕,而不用等待守护线程执行完毕;
* 3.是为用户线程服务的;
* 4.比如后台记录操作日志、监控内存使用等
在西方都信仰上帝守护人民,拿这个写一个例子:写一个people类,一个god类,都实现runnable接口
class Peolpe implements Runnable{
@Override
public void run() {
for (int i = 0; i <=365*100; i++) {//假如人活100年
System.out.println("happy life.....");
}
System.out.println("ooooooo.....");
}
}
class God implements Runnable{
@Override
public void run() {
for (;true;) {//上帝的年龄无穷
System.out.println("bless life.....");
}
}
}
然后执行,会发现人已经结束了,上帝还一直活着。将上帝设置成守护线程,上帝守护人民
God god = new God();
Peolpe peolpe = new Peolpe();
Thread t = new Thread(god);
t.setDaemon(true);//将线程设置为守护线程
t.start();
new Thread(peolpe).start();
再执行,发现上帝会自动结束。