java中請(qǐng)給出了一個(gè)主線(xiàn)程要join一個(gè)子線(xiàn)程的例子

一個(gè)線(xiàn)程join另一個(gè)線(xiàn)程,(包括和interrupt互動(dòng)的用法)
馬克- to-win:馬克 java社區(qū):防盜版實(shí)名手機(jī)尾號(hào): 73203。
馬克-to-win:join的意思就是本線(xiàn)程停下來(lái),等著另外一個(gè)線(xiàn)程完事,之后執(zhí)行本線(xiàn)程的下一句話(huà)。(感覺(jué)有點(diǎn)像過(guò)去張三等著李四,等到后join在一起一塊繼續(xù)走)下面給出了一個(gè)主線(xiàn)程要join一個(gè)子線(xiàn)程的例子。



例:1.5.3-本章源碼

class ThreadMark_to_win extends Thread {
    int e;
    public void run() {
        for (int i = 0; i < 4; i++) {
            e = e + i;
        }
        System.out.println("完成");
    }
}
public class Test {
    public static void main(String[] args) {
        ThreadMark_to_win tm = new ThreadMark_to_win();
        tm.start();
        try {
/*本線(xiàn)程停在這兒等著tm線(xiàn)程結(jié)束,接著執(zhí)行本線(xiàn)程下面的程序*/                        tm.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
/*注意雖然tm線(xiàn)程結(jié)束了,只是它作為線(xiàn)程的狀態(tài)變成了結(jié)束,但是tm作為實(shí)例還存在, 你并沒(méi)有tm=null,(如果你tm=null,之后執(zhí)行tm.e,會(huì)報(bào)空指針異常,)線(xiàn)程的狀態(tài)和實(shí)例是兩碼事。*/       
        System.out.println("e = " + tm.e);
    }
}

輸出結(jié)果:

完成
e = 6