Java_163_Thread_Daemon_线程分类_用户线程_守护线程_设置守护线程_Thread.setDaemon()

默认是用户线程

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();
	}
}

 

你可能感兴趣的:(Java_笔记)