用户线程和守护线程
线程分为用户线程和守护线程。
虚拟机必须确保用户线程执行完毕;
虚拟机不用等待守护线程执行完毕;如后台记录操作日志,监视内存,垃圾回收等待......;
用setDaemon(Boolean b)设置线程是否是守护线程;
false表示是用户线程,true表示是守护线程。
实例:
package com.wzz.A03多线程;
//测试守护线程
//上帝守护你
public class TestThreadDaemon16 {
public static void main(String[] args) {
God god = new God();
You1 you1 = new You1();
Thread thread = new Thread(god);
thread.setDaemon(true);//默认是false表示是用户线程,正常线程是用户线程
thread.start();//上帝守护线程启动
new Thread(you1).start();//你 用户线程启动
}
}
//上帝
class God implements Runnable{
@Override
public void run() {
while (true){
System.out.println("上帝保佑着你");
}
}
}
//你
class You1 implements Runnable{
@Override
public void run() {
for (int i = 0; i < 36500; i++) {
System.out.println("你一生开心的活着");
}
System.out.println("====goodbye!world====");
}
}