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