1. 程式人生 > >Java(三)併發控制14.後臺執行緒

Java(三)併發控制14.後臺執行緒

class DaemonThread extends Thread
{
	public void run()
	{
		for(int i=0;i<50;i++)
		{
			System.out.println(super.getName()+"-"+super.isDaemon());
		}
	}
}
public class DamonDemo {
	public static void main(String[] args)
	{
		System.out.println(Thread.currentThread().isDaemon());
		for(int i=0;i<50;i++)
		{
			System.out.println("main"+i);
			if(i==10)
			{
				DaemonThread t=new DaemonThread();
				t.setDaemon(true);
				t.start();
			}
		}
	}
}

建立執行緒後用setDaemon將執行緒設定為後臺,必須先設定後開啟不然會報錯在這裡插入圖片描述 可以發現,後臺執行緒和主執行緒一起執行,當主執行緒執行完時 在這裡插入圖片描述 明明設定後臺執行緒輸出500次,它卻到22次就停下了,因為這時主執行緒已經執行完了,後臺執行緒邊反應邊又執行了幾毫秒就停下了,理論上當所有前臺執行緒關閉時,後臺執行緒必須關閉