2016-06-17 10 views
1

java.nio.channels.SocketChannelのオブジェクト(socketChannel)を開いています。SocketChannelを一度に読み書きできますか?

そしてsocketChannel.configureBlocking(false);

は、それが安全です:1つのスレッドからそれに

  1. 書き込み、別のスレッドで、それから読んで
  2. 、同時に

答えて

3

はい、1つのスレッドがSocketChannelに書き込みを行っている間に、1つのスレッドがそこから読み取っている間に、可能です。

のJavadocから:

ソケットチャネルは、複数の並行スレッドで安全に使用できます。それらは 同時読み取りと書き込みをサポートしていますが、たいていのスレッドは と読むことができます。

https://docs.oracle.com/javase/8/docs/api/java/nio/channels/SocketChannel.html

関連する問題