java中请给出了一个主线程要join一个子线程的例子

一个线程join另一个线程,(包括和interrupt互动的用法)
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
马克-to-win:join的意思就是本线程停下来,等着另外一个线程完事,之后执行本线程的下一句话。(感觉有点像过去张三等着李四,等到后join在一起一块继续走)下面给出了一个主线程要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线程结束,接着执行本线程下面的程序*/                        tm.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
/*注意虽然tm线程结束了,只是它作为线程的状态变成了结束,但是tm作为实例还存在, 你并没有tm=null,(如果你tm=null,之后执行tm.e,会报空指针异常,)线程的状态和实例是两码事。*/       
        System.out.println("e = " + tm.e);
    }
}

输出结果:

完成
e = 6