雖然關(guān)于討論線(xiàn)程join方法的博客已經(jīng)很多了,不過(guò)個(gè)人感覺(jué)挺多都討論得不夠全面,所以我覺(jué)得有必要對(duì)其進(jìn)行一個(gè)全面的總結(jié)。
一、作用
Thread類(lèi)中的join方法的主要作用就是同步,它可以使得線(xiàn)程之間的并行執(zhí)行變?yōu)榇袌?zhí)行。具體看代碼:
public class JoinTest { public static void main(String [] args) throws InterruptedException { ThreadJoinTest t1 = new ThreadJoinTest("小明"); ThreadJoinTest t2 = new ThreadJoinTest("小東"); t1.start(); /**join的意思是使得放棄當(dāng)前線(xiàn)程的執(zhí)行,并返回對(duì)應(yīng)的線(xiàn)程,例如下面代碼的意思就是: 程序在main線(xiàn)程中調(diào)用t1線(xiàn)程的join方法,則main線(xiàn)程放棄cpu控制權(quán),并返回t1線(xiàn)程繼續(xù)執(zhí)行直到線(xiàn)程t1執(zhí)行完畢 所以結(jié)果是t1線(xiàn)程執(zhí)行完后,才到主線(xiàn)程執(zhí)行,相當(dāng)于在main線(xiàn)程中同步t1線(xiàn)程,t1執(zhí)行完了,main線(xiàn)程才有執(zhí)行的機(jī)會(huì) */ t1.join(); t2.start(); } }class ThreadJoinTest extends Thread{ public ThreadJoinTest(String name){