Java執行緒的聯合用法例項分析
阿新 • • 發佈:2020-01-07
本文例項講述了Java執行緒的聯合用法。分享給大家供大家參考,具體如下:
一 點睛
在Java中,執行緒控制提供了join()方法。該方法的功能是把指定的執行緒加入到當前執行緒,從而實現將兩個交替執行的執行緒,合併為順序執行的執行緒。比方說,線上程A中呼叫了執行緒B的join()方法,執行緒A就會立刻掛起(suspend),一直等下去,直到它所聯合的執行緒B執行完畢為止,A執行緒才重新排隊等待CPU資源,以便恢復執行。這種策略通常會在main()主執行緒內,用以等待其他執行緒完成後,再結束main()主執行緒。
二 程式碼
public class ThreadJoin { public static void main( String[] args ) { ThreadTest t = new ThreadTest(); Thread pp = new Thread( t ); pp.start(); int flag = 0; for( int i = 0; i < 5; ++i ) { if( flag == 3 ) { try { pp.join(); // 強制執行完pp執行緒後,再執行後面的程式 } catch( Exception e ) // 會丟擲InterruptedException { System.out.println( e.getMessage() ); } } System.out.println( "main Thread " + flag ); flag += 1; } } } class ThreadTest implements Runnable { public void run() { int i = 0; for( int x = 0; x < 5; ++x ) { try { Thread.sleep( 1000 ); } catch( InterruptedException e ) { e.printStackTrace(); } System.out.println( Thread.currentThread().getName() + " ---->> " + i ); i += 1; } } }
三 執行
main Thread 0
main Thread 1
main Thread 2
Thread-0 ---->> 0
Thread-0 ---->> 1
Thread-0 ---->> 2
Thread-0 ---->> 3
Thread-0 ---->> 4
main Thread 3
main Thread 4
更多java相關內容感興趣的讀者可檢視本站專題:《Java程序與執行緒操作技巧總結》、《Java資料結構與演算法教程》、《Java操作DOM節點技巧總結》、《Java檔案與目錄操作技巧彙總》和《Java快取操作技巧彙總》
希望本文所述對大家java程式設計有所幫助。