關(guān)于Thread的join方法

題目

以下代碼的輸出什么?

public class MyThread extends Thread{
    public  void  run(){
        System.out.println("test");
    }
    public static void main(String[] args){
        Thread t = new MyThread();
        t.start();
        System.out.println("main");
        try{
            t.join();
        }catch (Exception e){
            e.printStackTrace();
        }
        System.out.println("main2");
    }
}

分析與解答

答案是:

main
test
main2

Thread.join方法是將指定線程加入當前線程,將兩個交替執(zhí)行的線程轉(zhuǎn)換成順序執(zhí)行。上面的例子中,語句t.join(),在線程main中,調(diào)用線程t的join方法,將線程t加入線程main中,先執(zhí)行完線程t,再執(zhí)行main線程。

所以會在輸出main2前,運行線程t的run方法輸出test。

更多相關(guān)知識點可以看看---Java多線程中join方法的理解

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文主要講了java中多線程的使用方法、線程同步、線程數(shù)據(jù)傳遞、線程狀態(tài)及相應的一些線程函數(shù)用法、概述等。 首先講...
    李欣陽閱讀 2,594評論 1 15
  • Java多線程學習 [-] 一擴展javalangThread類 二實現(xiàn)javalangRunnable接口 三T...
    影馳閱讀 3,107評論 1 18
  • 該文章轉(zhuǎn)自:http://blog.csdn.net/evankaka/article/details/44153...
    加來依藍閱讀 7,465評論 3 87
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • A:“廠里有免費的午餐,你咋還要買了吃?” B:“因為買的好吃,”
    RainyCai閱讀 119評論 1 1

友情鏈接更多精彩內(nèi)容