線程並存執行轉為串列的法寶 join()

來源:互聯網
上載者:User

標籤:線程   end   over   一個   xtend   art   string   star   特殊   

如果沒有經過特殊處理,線程和線程之間是並行啟動並執行,如何讓它們串列執行呢?(1)一種是使用無參的join(),等到另一個線程執行完畢再繼續運行;(2)一種是使用帶參的join(long millis) ,等待一定的時間後,無論另一個線程是否執行完畢,都繼續執行。public class Thread1 extends Thread { @Override public void run() { System.out.println("線程Thread1開始執行"); try { Thread.sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("線程Thread1執行完畢"); }}public class Thread2 extends Thread { private Thread1 thread1; public Thread2(Thread1 thread1) { this.thread1 = thread1; } @Override public void run() { try { // 時間超過了1000ms,則放棄等待,繼續執行 thread1.join(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("線程Thread2開始執行"); System.out.println("線程Thread2執行完畢"); } public static void main(String[] args) { Thread1 t1 = new Thread1(); Thread2 t2 = new Thread2(t1); t1.start(); t2.start(); }}

線程並存執行轉為串列的法寶 join()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.