ITPub博客

首页 > 应用开发 > IT综合 > 对Join的理解

对Join的理解

原创 IT综合 作者:mouqj 时间:2007-09-01 17:40:25 0 删除 编辑
在线程中,Join用于等待一个线程的结束。从线程调度的角度来说,就是把调用该方法的当前进程置于线程链顶端,当前进程执行结束,其余进程开始执行。
Join是同步线程的一种方法,另种方法是wait()以及notify().
以下举一个例子说明Join的作用。

class ThreadJoinTest {

public static void main(String[] args) throws InterruptedException{
TestTmp test1 = new TestTmp();
TestTmp test2 = new TestTmp();
TestTmp test3 = new TestTmp();

test1.join(); // join
test2.join(); // join

test1.start();
test2.start();
test3.start();
}
}

class TestTmp extends Thread{
public void run(){
for(int i=0;i<5;i++)
System.out.println(this.getName()+" "+i);
}
}

注意加注释的两行代码,test1.join()以及test2.join().

此时程序的输出为:

Thread-1 0

Thread-1 1

Thread-1 2

Thread-1 3

Thread-1 4

Thread-2 0

Thread-2 1

Thread-2 2

Thread-2 3

Thread-3 0

Thread-2 4

Thread-3 1

Thread-3 2

Thread-3 3

Thread-3 4

如果将注释的两行去掉,则一种可能的输出为:

Thread-1 0

Thread-1 1

Thread-1 2

Thread-1 3

Thread-1 4

Thread-2 0

Thread-2 1

Thread-2 2

Thread-2 3

Thread-3 0

Thread-3 1

Thread-3 2

Thread-3 3

Thread-3 4

Thread-2 4

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11049438/viewspace-967511/,如需转载,请注明出处,否则将追究法律责任。

下一篇: JBuilder7 问题
请登录后发表评论 登录
全部评论
  • 博文量
    33
  • 访问量
    116252