java多線程之join

廢話不多說直接上代碼


當不使用join方法的時候main線程與t1線程是同時運行的誰搶到課cpu的資源誰就先執行


結果可以看出來在main線程執行的時候自上而下執行先是執行System.out.println("測試先後順序");

然後開始t1.start()和main線程剩餘的部分/*這倆執行是同步的誰搶到cpu資源誰就執行*/


這時我們引入join方法



結論:

/**
*t1.start();之後原本的main線程和t1線程幾乎是同步的(運行不分先後)
*在使用了t1.join();之後(join在英文中有連接的意思)
*就會安裝t1線程執行完畢之後再執行main線程
*(相當於把t1線程和main線程合併到了一起)
*先是main線程執行-->到了t1.start()之後原本兩個線程是並列運行的
*但是加入了t1.join()之後他們歸併爲一個線程 所有在t1.start()的時候開始執行
*t1線程當t1線程執行結束了之後再啓動剩餘的main線程的內容
*/

本文爲作者原創 轉載請註明出處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章