在eclipse簡易查看後臺進程與前臺進程的關係

我們知道當前臺進程停止時,後臺進程也會自動停止,那如何直觀的看後臺前臺的運行呢?

//設置兩個線程:線程1,線程2
class FirstOne implements Runnable{
    public void run(){
        while(true){
            System.out.println("線程1");
        }
    }
}
class FirstTwo implements Runnable{
    public void run(){
        while(true){
            System.out.println("線程2");
        }
    } 
}
public class MultithreadingTwo {
    //主函數是一個前臺線程
    public static void main(String[] args){
        Thread one=new Thread(new FirstOne(),"線程1");
        Thread two=new Thread(new FirstTwo(),"線程2");
        one.setDaemon(true);
        two.setDaemon(true);//將兩個線程一起設爲後臺線程
        one.start();//設置斷點
        two.start();//設置斷點
        for(int i=0;i<50;i++){
            System.out.println("one");
        }//延長前臺線程的運行時間
        System.out.println("one進程是否爲後臺進程"+one.isDaemon());//設置斷點
        System.out.println("two進程是否爲後臺進程"+two.isDaemon());
    }
}

(在控制檯輸出的內容可以判斷什麼在運行)
1.根據代碼設置斷點(斷點位置不同,看到的東西多少也不同)
2.進行調試,注意運行到第一個斷點時,後臺線程還未運行,一步步調試,運行到第二個斷點時,發現第一個後臺進程在運行,同樣運行到第三個斷點,兩個後臺進程都在運行,主函數全部結束後,兩個後臺進程都結束

當我們不設置斷點時,控制檯會優先響應前臺進程中的,可以自己測試

總結:
*當我們開啓後臺進程時,它會一直運行,知道關閉或前臺進程全部停止
*主函數中的進程是前臺進程
*前臺進程的優先級別比後臺進程的高

發佈了43 篇原創文章 · 獲贊 15 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章