繁体   English   中英

Java sockets是否支持全双工?

[英]Do Java sockets support full duplex?

是否可以让一个线程写入 Java SocketOutputStream ,而另一个线程从套接字的InputStream读取,而线程不必在套接字上同步?

当然。 您描述的确切情况应该不是问题(同时阅读和写作)。

通常,如果没有要读取的内容,读取线程将阻塞,如果您指定了超时,则读取操作可能会超时。

由于输入 stream 和 output stream 是 Socket 中的单独对象,您唯一可能关心的线程是,如果您有相同的输入/输出流,您可能会关心的是(如果您有相同的输入/输出流),会发生什么情况)时间? InputStream/OutputStream 类的读/写方法不同步。 但是,如果您使用 InputStream/OutputStream 的子类,则您调用的读/写方法可能是同步的。 您可以检查 javadoc 以了解您正在调用的任何类/方法,并很快找到它。

是的,这很安全。

如果您想从 InputStream 读取多个线程,则必须更加小心(假设您一次读取多个字节)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM