后台线程

后台线程、守护线程、精灵线程,一个意思,JVM的垃圾回收线程就是典型的后台线程

特点:当所有的前台线程死亡,后台线程也就自动死亡了

public class DaemonThread extends Thread {
	private int i;

	@Override
	public void run() {
		for (; i < 100; i++) {
			System.out.println(getName() + ":" + i);
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		DaemonThread dt=new DaemonThread();
		System.out.println("dt为后台线程?"+dt.isDaemon());
		dt.setDaemon(true);//将它设置为后台线程,必须在start之前设置,否则会有IllegalThreadStateException
		System.out.println("dt为后台线程?"+dt.isDaemon());
		dt.start();
		for (int i=0; i < 10; i++) {
			System.out.println(Thread.currentThread().getName() + ":" + i);
		}
	}
}

注意:前台线程的子线程是前台线程,后台线程的子线程是后台线程。

上面这个例子dt线程是无法输出到99的,main线程执行完毕之后,后台线程会自动结束



猜你喜欢

转载自blog.csdn.net/weixin_35110513/article/details/79359654