守护(daemon)线程
◆线程分为用户线程和守护线程
◆虚拟机必须确保用户线程执行完毕
◆虚拟机不用等待守护线程执行完毕
◆如,后台记录操作日志,监控内存,垃圾回收等待. . .
package state;
// 上帝守护你
public class TestDaemon {
public static void main(String[] args) {
God god = new God();
You you = new You();
Thread thread = new Thread(god);
thread.setDaemon(true);//默认是false表示是用户线程,正常的线程都是用户线程
thread.start();//守护线程启动
new Thread(you).start();//用户线程启动
}
}
class God implements Runnable{
@Override
public void run() {
while (true){
System.out.println("God bless you!");
}
}
}
class You implements Runnable{
@Override
public void run() {
for (int i = 0; i < 36500; i++) {
System.out.println("You live happily all your life.");
}
System.out.println("========Goodbye!World!=========");
}
}