zachouR回答ポイント 100ptウォッチ

Javaのスレッドについての質問です。


以下のようにfor文でスレッドを4つ立ち上げるプログラムを組みました。

for( int i = 0; i < 4; i++ ) {

  //メッセージを送るスレッドをたてる
  Fieldmsg fieldmsg = new Fieldmsg(socket);
  fieldmsg.start();
fieldmsg.join();

}

fieldmsg.join(); が食い止めているので、この場合は1つのスレッドが終わるまで
次のスレッドは立ち上がらないと思います。

問題は、4つのスレッドすべてが立ち上がり、4つが終了するのを見届けたい場合です。

Fieldmsg fieldmsg;

for( int i = 0; i < 4; i++ ) {

  //メッセージを送るスレッドをたてる
  fieldmsg = new Fieldmsg(socket);
  fieldmsg.start();

}

fieldmsg.join();

こうしたらどうなるでしょうか?

それとも4つのスレッド全部にフラグを立てるような仕組みをいれてそれを監視するという方法がいいのでしょうか?

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2013-08-20 11:31:25
終了日時
2013-08-27 11:35:04
回答条件
1人5回まで

この質問のカテゴリ

この質問に含まれるキーワード

Java1731スレッド378フラグ135プログラム5048

人気の質問

メニュー

PC版