何故、System.out.println(i)(該当ソースコード:8行目)が呼ばれているのかが分かりません。
下記のコードでは、interruptメソッドによる割り込みは発生していないように思えます。
ご存知の方は教えていただけると幸いです。
よろしくお願いいたします。
該当のソースコード
public class JoinTest extends Thread { public void run() { for (int i = 3; i >= 0 ; i--) { try { sleep(1000); } catch (InterruptedException e) {} System.out.println(i); } } public static void main(String[] args) { JoinTest t = new JoinTest(); t.start(); try { System.out.println("スレッド t の終了を待機します。"); t.join(); // カウントダウンが終了するのを待つ System.out.println("スレッド t が終了しました。"); } catch (InterruptedException e) {} } }
実行結果
スレッドtの終了を待機します。 3 2 1 0 スレッドtが終了しました。
参考にしたサイト
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/04 13:01