簡體   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