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

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

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

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

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

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

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

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


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

查看所有标签

猜你喜欢:

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

Design systems

Design systems

Not all design systems are equally effective. Some can generate coherent user experiences, others produce confusing patchwork designs. Some inspire teams to contribute to them, others are neglected. S......一起来看看 《Design systems》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具