在Java中,線程能區分兩種不同類型的線程:前臺線程和后臺線程。這兩者的區別就是:應用程序必須運行完所有的前臺線程才可以退出;而對于后臺線程,應用程序則可以不考慮其是否已經運行完畢而直接退出,所有的后臺線程在應用程序退出時都會自動結束。
1.如何創建一個后臺線程
新創建的線程默認都是前臺線程。如果某個線程對象在啟動前調用了 setDaemon(true) 語句,這個線程就會變成后臺線程。
/*對于java程序來說,只要還有一個前臺線程在運行,這個進程就不會結束,如果一個進程中只有后臺線程運行這個進程就會結束。新創建的線程默認都是前臺線程。如果某個線程對象在啟動前調用了 setDaemon(true) 語句,這個線程就會變成后臺線程。*/ class DamonThread implements Runnable {public void run() {System.out.println(Thread.currentThread().getName() + "---is running.");//currentThread() 方法:獲取當前線程對象 getName() 方法:獲取名字 } } public class 后臺線程 {public static void main(String[] args) {System.out.println("main 線程是后臺線程嗎?" + Thread.currentThread().isDaemon());DamonThread dt = new DamonThread();//創建一個 DamonThread 對象 dtThread t = new Thread(dt, "后臺線程");//創建線程 t 共享 dt 資源System.out.println("t 線程是后臺線程嗎?" + t.isDaemon());//判斷是否為后臺線程t.setDaemon(true);//將線程 t 設置為后臺線程t.start(); //調用 static 方法開啟線程 tfor(int i=0; i<10; i++) {System.out.println(i);}} }
?