java - 套接字上并发读写的线程安全

标签 java sockets concurrency thread-safety nio

tcp套接字是一个具有双向读写能力的端点。在java中我们可以获取Socket的InputStream和OutputStream。

同时使用这些流安全吗?

据我所知,有一个连接能够在任何给定时间从一个端点向其他数据发送或接收数据。

我正在基于 SocketChannels 实现 nio 传输层,我想为所有写入保留一个线程,为接受和读取保留一个线程,但我不确定如果我的线程同时尝试读取和写入会发生什么同时在同一个套接字上...

最佳答案

As far as I know there is a single connection that is capable to send or recieve from one endpoint to other data at any given time.

或者两者同时进行。这是全双工连接。您可以同时发送和接收。

关于java - 套接字上并发读写的线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32738658/

相关文章:

java - httpclient 获取和放置

c++ - 大小为 1mega 的大数组导致 CPU 高?

Java SSL 套接字通信——发送和接收

ruby-on-rails - 缺少 Websocket header

go - 在 Go 中并发生成随机数

java - Selenium Java 中每个场景的 Chrome 和 Firefox 之间的更改(CUCUMBER、JUnit)

java - 进程 killer 识别

java - JVM 线程转储位置

node.js - Go 会阻塞像 Node 这样的处理器密集型操作吗?

python - 使用 Twisted 的简单非网络并发