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