Java——線程的加入

//join():加入運行
class Test implements Runnable{
    public void run(){
        for(int i=1;i<=10;i++){
            System.out.println(Thread.currentThread().getName()+"--->"+i);
        }
    }
}
class Demo{
    public static void main(String[] args) throws InterruptedException{
        Test test = new Test();

        Thread t1 = new Thread(test);
        Thread t2 = new Thread(test);

        t1.start();//t1 start之後不一定能搶到CPU

        //寫在這裏,加入下面這句話之後,這時只有主線程和t1線程,所以主線程會等待t1線程全部執行完再執行
        //t1.join();//讓t1線程加入線程,如果沒有這句話,t1線程不一定能得到CPU

        t2.start();

        t1.join();//寫在這裏,這時有主線程和t1,t2線程,主線程會等待t1線程執行完,t2線程不會讓着t1
        //join只有主線程會讓着他

        for(int i=1;i<=10;i++){
            System.out.println(Thread.currentThread().getName()+"--->"+i);
        }
    }
}
發佈了89 篇原創文章 · 獲贊 211 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章