我可以一次写入和读取SocketChannel吗?

时间:2016-06-17 11:20:59

标签: java multithreading sockets nio

我打开了java.nio.channels.SocketChannel的对象(socketChannel)。

socketChannel.configureBlocking(false);

安全吗?

  1. 从一个帖子写信给
  2. 从另一个帖子中读取,
  3. 同时?

1 个答案:

答案 0 :(得分:3)

是的,可以让一个线程写入SocketChannel,而一个线程正在从中读取。

来自Javadoc:

  

多个并发线程可以安全地使用套接字通道。他们   支持并发读写,但最多只有一个线程可以   阅读,最多一个帖子可能在任何给定时间写作。

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

相关问题