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

时间:2019-04-18
本文章向大家介绍java中请给出了一个主线程要join一个子线程的例子,主要包括java中请给出了一个主线程要join一个子线程的例子使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

马克-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

版权保护原文出处:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner6_web.html#Join