java – 将数据从一个输入流传输到多个输出流的最佳方法

栏目: Java · 发布时间: 7年前

内容简介:有没有更好的方法来处理这个或者我正在使用的实现与我将得到的一样好?如果一个输入流必须被多个消费者读取,并且输入流是短暂的(即,不是可以’重绕’或支持多个输入指针的资源),您通常必须提供一个缓冲方案,其行为就好像它会保留每个数据项,直到所有消费者都阅读它为止.您有多种实施选择.最简单的是你的建议,开销主要是输出缓冲区中多个数据副本的存储空间.如果存储是一个问题,您可以提供单个缓冲区来维护单独的读指针,每个消费者一个,并且仅在内存中保留最低和最高读指针之间的数据.如果消费者以非常不同的速度读取数据,您仍然可能最

有没有更好的方法来处理这个或者我正在使用的实现与我将得到的一样好?

如果一个输入流必须被多个消费者读取,并且输入流是短暂的(即,不是可以’重绕’或支持多个输入指针的资源),您通常必须提供一个缓冲方案,其行为就好像它会保留每个数据项,直到所有消费者都阅读它为止.

您有多种实施选择.最简单的是你的建议,开销主要是输出缓冲区中多个数据副本的存储空间.如果存储是一个问题,您可以提供单个缓冲区来维护单独的读指针,每个消费者一个,并且仅在内存中保留最低和最高读指针之间的数据.如果消费者以非常不同的速度读取数据,您仍然可能最终得到内存中的大部分或全部输入数据,此时某种输入限制或中间磁盘缓冲方案将变得必要.

我假设单个输入流不是持久的(即磁盘上的文件)……在这种情况下,解决方案是微不足道的.

翻译自:https://stackoverflow.com/questions/3135472/best-way-to-pipe-data-from-one-input-stream-to-multiple-output-streams


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

重来2

重来2

[美] 贾森·弗里德、[美] 戴维·海涅迈尔·汉森 / 苏西 / 中信出版社 / 2014-4-8 / 39.00元

“不再需要办公室”,这不仅仅是未来才有的事——它已经发生了。现在,轮到你迈开脚步,跟上时代的步伐了。 上百万的员工和成千上万的企业已经发现了远程工作的乐趣和好处。然而,远程工作方式还没有成为常见的选择。事实上,远程工作的技术手段都已齐备。还没有升级换代的,是人们的思想。 这本书的目的就是帮你把想法升级换代。作者会向你展示远程工作的诸多好处:可以找到最优秀的人才,从摧残灵魂的通勤路上解脱......一起来看看 《重来2》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器