簡體   English   中英

Java I / O讀取延遲

[英]Java I/O read Delay

當我嘗試讀取InputStream時,從服務器讀取數據會花費很多時間。 該過程讀取一些字節暫停5分鍾,然后再次讀取,並以此方式繼續。 但是線程在讀取一些字節后掛起。 有什么辦法可以快速讀取字節?

如果要從任何設備讀取字節,則應該期望read()阻塞一段時間。 多長時間取決於設備。 如果是Socket,則取決於發送數據的另一端和您的網絡特征。

如果您希望連接檢測到失敗的Socket連接,請讓另一端發送常規心跳,除非在有限的時間內收到數據包,否則您可以認為連接已死。

該過程讀取一些字節暫停5分鍾

這意味着什么。 您暫停它,還是暫停它自己?

如果您暫停了5分鍾,請不要打擾。 read()將阻塞,直到有可用數據為止。 可能不到5分鍾,所以您可能浪費了很多時間。

如果它本身正在暫停,那是因為read()將阻塞直到有可用數據為止(請參見上文)。 因此,這意味着服務器的發送速度沒有達到您的預期。 因此,請調查該消息,而不是接收者的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM