java中請給出了一個主線程要join一個子線程的例子

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



例: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 {
/*本線程停在這兒等著tm線程結束,接著執(zhí)行本線程下面的程序*/                        tm.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
/*注意雖然tm線程結束了,只是它作為線程的狀態(tài)變成了結束,但是tm作為實例還存在, 你并沒有tm=null,(如果你tm=null,之后執(zhí)行tm.e,會報空指針異常,)線程的狀態(tài)和實例是兩碼事。*/       
        System.out.println("e = " + tm.e);
    }
}

輸出結果:

完成
e = 6