线程分为:守护线程和用户线程;
虚拟机需要等待用户线程执行完,而不必等待守护线程完成.
常见的守护线程:后台记录操作日志,监控内存,垃圾回收等
public class Textdaemon {
public static void main(String[] args) {
God god = new God();
You you =new You();
Thread thread = new Thread(god);
thread.setDaemon(true);//默认是flase表示用户线程,正常的线程都是用户线程
thread.start();//守护线程启动
new Thread(you).start();//用户线程启动
}
}
//创建守护线程
class God implements Runnable{
@Override
public void run() {
while (true){
System.out.println("守护线程");}
}
}
//创建用户线程
class You implements Runnable{
@Override
public void run() {
for (int i = 0; i <365; i++) {
System.out.println("线程运行中");
}
System.out.println("用户线程执行结束");
}
}
虚拟机结束需要一定时间,所以用户线程结束后,守护线程还会运行一会