看板java
标 题join的问题
发信站KKCITY (Tue Aug 1 02:09:35 2006)
转信站ptt!ctu-reader!Spring!news.nctu!news.ntu!bbs.ee.ntu!news.kkcity.com.tw
关於以下程式:
public class JoinTest{
class th1 extends Thread{
public void run(){
for(int i=1;i<=200;i++) System.out.println(" "+i);
}
}
class th2 extends Thread{
public void run(){
for(int i=201;i<=400;i++) System.out.println(i);
}
}
public static void main(String[] args) {
JoinTest jt = new JoinTest();
Thread t1 = jt.new th1();
Thread t2 = jt.new th2();
try{
t1.start();
t2.start();
t1.join(); //等t1执行完再执行t2
//t2.join();
}catch(InterruptedException e){}
}
}
这一个JoinTest类别会产生两个执行序t1(列印1到200),t2(列印201到400),
我的预期结果是会从1列印到400,
因为我加了t1.join()一列,表示我希望在t1结束再执行t2,
这是我对join()方法的认知,
但程式结果产生不规则交互执行,请问是为啥呢?
--
┌─────◆KKCITY◆─────┐▇─┐KKADSL→六星级优质连线服务
│ bbs.kkcity.com.tw │┴ └─▇ 马上申请带你上网环游全世界!
└──《From:140.131.95.183
》──┘ KKADSL ┴ http://adsl.kkcity.com.tw
--