- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ThreadとRunnableのlogへの表示差異)
ThreadとRunnableのlogへの表示差異
このQ&Aのポイント
- ThreadとRunnableを使用してマルチスレッドでsleep()の時間を指定して動かすと、表示されるタイミングに差異がある。
- Threadを継承した場合、時間通りに(リアルタイムで)eclipseのコンソールに表示される。
- 一方、Runnableをインプリメントした場合、eclipseのコンソールに一瞬で表示される。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
おそらく for で繰り返す部分に {} を付けるのを忘れたのでは? for で5回 System.out.println(・・・); を繰り返して、最後に1回だけ sleep するロジックになっていますよ。 run メソッド部分のインデントを整えると↓な感じです。 public void run() { for (int i=0; i < 5; i++) System.out.println("No."+i+":"+Thread.currentThread().getName()); // for で繰り替えさえるのはこの行だけ try{ Thread.sleep(time); } catch (InterruptedException e) {} }
お礼
ご指摘のミスでした。 下らないミスを迅速にアドバイス頂いて、ありがとうございました。