默认是用户线程
Thread.setDaemon(true/false)设置守护线程
jvm不等待守护线程执行完毕,用户线程执行完毕就会停止守护线程
package TCPUDPThread;
/**
* daemon守护线程:是为用户线程服务的,JVM停止不用等待守护线程执行完毕 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕
* 虚拟机不用等待守护线程执行完毕 如后台记录操作日志,监控内存使用等.
*
* 默认:都是用户线程 jvm等待用户线程执行完毕才会停止. Thread.setDaemon(true)将用户线程调整为守护线程
*
* @author pmc
*
*/
public class daemonTest {
public static void main(String[] args) {
class Gods implements Runnable {
@Override
public void run() {
for (; true;) {
System.out.println("永生");
}
}
}
class You implements Runnable {
@Override
public void run() {
for (int i = 1; i < 365 * 100; i++) {
System.out.println("活" + i);
}
System.out.println("000000...");
}
}
Gods god = new Gods();
You you = new You();
Thread t1 = new Thread(god);
t1.setDaemon(true);// 将用户线程调整为守护线程
t1.start();
Thread t2 = new Thread(you);
t2.start();
}
}