守护线程
线程分为守护线程和用户线程,默认为用户线程。当所有的用户线程都跑完,守护线程就会自动结束。可以通过setDaemon方法去设置守护线程。gc垃圾回收线程就是一个守护线程。
public class TestDaemon {
public static void main(String[] args) {
My my = new My();
God god = new God();
Thread threadMy = new Thread(my);
Thread threadGod = new Thread(god);
//设置上帝为守护线程
threadGod.setDaemon(true);//默认为false用户线程,true为守护线程
threadGod.start();
threadMy.start();
}
}
//我
class My implements Runnable{
@Override
public void run() {
for (int i = 0; i < 36500; i++) {
System.out.println("我开心的活着");
}
System.out.println("goodbye,world");
}
}
//上帝
class God implements Runnable{
@Override
public void run() {
while (true){
System.out.println("上帝保佑着你");
}
}
}
上图代码中god就是一个守护线程,当my线程结束之后,守护线程就会自动结束。