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