1現在のスレッドが(thread1.join表示)(結合)最初に実行し、現在のスレッドのスレッド1の実行を終了します
公共の 静的な 無効メイン(文字列[] args)を{ 決勝スレッドthreadNは= 新しい新しいスレッド(新しい新しいRunnableを(){ @Override 公共 ボイドRUN(){ System.out.printlnはは( "プロダクトマネージャーは新しい要件を計画しています..." ); } }); 決勝スレッドスレッド2 = 新しい新しいスレッド(新しい新しいRunnableを(){ @Override 公共 ボイドRUN(){ 試み{ thread1.join(); System.out.printlnは( "新しい機能要件を開発する開発者は"); } キャッチ(InterruptedExceptionある電子){ e.printStackTrace(); } } })。 最後のスレッドthread3は= 新しいスレッド(新しいRunnableを(){ @Override 公共 ボイドラン(){ しようと{ thread2.joinを(); System.out.printlnは( "测试人员测试新功能" ); } キャッチ(例外:InterruptedException e)の{ e.printStackTrace(); } } })。 トライ{ のSystem.out.println(「仕事に来るプロダクトマネージャー」) のSystem.out.println(「テスターが機能するようになっ」); のSystem.out.println(「仕事に来て現像剤」); thread1.start (); // 親がjoin()メソッドの子プロセスを呼び出した後、親プロセスは実行を継続する前に完了した子プロセスの実行を待機します。 System.out.println( "開発者とテスターは...休憩を取る" ); thread1.joinを(); System.out.printlnは( "プロダクトマネージャー新しい所要量計画が完了している!" ); Thread2.startを(); システム.out.println( "テスターは...休憩を取る" ); thread2.join(); thread3.start();キャッチ(InterruptedExceptionある電子){ e.printStackTrace(); } }