zachouR回答ポイント なしウォッチ

JAVA の input output をクローズするタイミングについて。


すいません、in out についての質問なんですが、
============================
public class player_receive extends Thread {

private int size;
private String msg;
private Socket socket;
byte[] w=new byte[10240];

public String getplayer_receive(){
return msg;
}

public player_receive(Socket socket) {
this.socket=socket;
}

public void run(){

while( true ){

try {

java.io.InputStream in = socket.getInputStream();
size=in.read(w);
msg=new String(w,0,size,"UTF8");
// in.close();

if ( msg != null ) {
break;
}

} catch (IOException e) {
}

}

}

}
============================
上のようなあるソケットから文字列を受け取るスレッドを作りました。

getplayer_receive()
を使って文字列をうけとるやつで
// in.close();
をコメントアウトしています。これだとうまくいきます。

in.close();

のコメントを外すと止まります。

うけとったときに msg に格納しているのでinは不要だと思うのですが、なぜでしょうか?

inをずっとクローズせずに、このスレッドをどんどん量産していった場合、どうなるでしょうか?

ログインして回答する

みんなの回答

この質問へのコメント

コメントはありません

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

質問の情報

登録日時
2013-08-22 17:24:27
終了日時
2013-08-29 17:25:05
回答条件
1人5回まで

この質問のカテゴリ

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

Java1731コメントアウト96スレッド378

人気の質問

メニュー

PC版