Java(三)併發控制14.後臺執行緒
阿新 • • 發佈:2018-12-12
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次就停下了,因為這時主執行緒已經執行完了,後臺執行緒邊反應邊又執行了幾毫秒就停下了,理論上當所有前臺執行緒關閉時,後臺執行緒必須關閉