join的問題

看板java作者時間19年前 (2006/08/01 02:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/4 (看更多)
關於以下程式: 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 --
文章代碼(AID): #14paoY00 (java)
文章代碼(AID): #14paoY00 (java)