• ベストアンサー

readメソッドについて

初歩的な質問ですが, OutputStream out = socket.getOutputStream(); out.read(); : (何らかの処理が続く) : read()メソッドで送信されたバイトを読み込みますが, 送信側がデータを送信しない間はずっとout.read(); の前でプログラムの動作はストップしているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

普通、OutputStreamにはreadメソッドはない。InputStreamの書き間違いだとして、 (1)readしているスレッドは基本的に、何らかのデータを読み込めるまでreadの内部で待ち続ける。ただし、ネットワークエラーやタイムアウトなどによって、データを読み込まずにreadが終了する(例外発生)場合がある。 (2)あるスレッドがreadで待っている間も他のスレッドは動作可能であるかもしれず、その場合はプログラム全体としては動作し続けている。

debukawa
質問者

お礼

回答ありがとうございます. 参考になりました.