我正在学习CS,当我学习缓冲区的时候,我把高水印和低水印搞混了。有人能解释一下它们是什么吗。

发布于 2017-08-04 00:17:08
缓冲区用于临时存储一定数量的数据。缓冲区的大小可以是有限的,也可以是无限的(考虑到计算机中的RAM是有限的,可以说每个缓冲区都是有限的)。在您的图片中,缓冲区是有限的,这意味着它只能存储一定数量的数据,例如100或1000个数据包。
缓冲区由媒体服务器发送的数据填充。媒体服务器应该如何知道它应该发送多少数据?通常,如果缓冲区包含的项目少于“低水位线”,则媒体播放器可以通过控制数据通道告诉媒体服务器类似于“向我发送更多数据”之类的内容。如果缓冲器随后被填满并且包含的项多于“高水位线”项,则媒体播放器可以发出信号“向我发送较少的数据”。
因此,高水位线和低水位线可以解释为缓冲区的填充百分比,其中缓冲区可能不再成功运行,这要么是因为它可能很快就是空的(处于低水位线甚至更低),要么是因为它可能很快就满了,因此不再能够存储更多的项(当它处于或超过高水位线时)。
https://stackoverflow.com/questions/45489405
复制相似问题