gpt4 book ai didi

Java DataInputStream 与 BufferedInputStream

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:57:07 25 4
gpt4 key购买 nike

我正在寻找一种有效的解决方案来接收和处理从套接字连接到服务器的异步消息(大小不一)。这是一个很好的带宽量(可能是 250 kB/s 稳定状态,并且可以有高达 1 MB/s 的短突发)。目前我正在使用 DataInputStream,但在繁忙的时候我会断开连接(如果队列积压变得太大,服务器会断开客户端连接)。

谁能确认 BufferedInputStream 是否可以更好地工作?我读到它会一次检索数据 block ,而不是逐字节检索,因此操作系统调用较少。

谢谢!

最佳答案

它确实一次检索 block ,并且它可以有更少的操作系统调用,但如果您没有足够快地调用读取来处理积压,这将无济于事。在您完全读取它预取的 block 之前,它不会读取下一个 block 。

可能最好的做法是始终保持在 InputStream 的顶部(只要它有东西要读取就读取它)并稍后或在另一个(较低优先级)线程中进行任何其他处理。

关于Java DataInputStream 与 BufferedInputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11057321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com