当前位置:  开发笔记 > 编程语言 > 正文

缓冲区是什么意思?

如何解决《缓冲区是什么意思?》经验,为你挑选了5个好方法。

我到处都看到"BUFFER"这个词,但我无法理解它到底是什么.

    有人请说明外行人的语言缓冲是什么?

    什么时候使用?

    怎么用?

Perchik.. 238

想象一下,你正在从碗里吃糖果.你经常拿一件.为了防止碗用完,有人可能会在碗变空之前重新装满碗,这样当你想要另一块时,碗里就会有糖果.

碗在你和糖果袋之间起缓冲作用.

如果你正在网上观看电影,网络服务将在接下来的5分钟左右不断下载到缓冲区中,这样你的计算机就不必在观看时下载电影(这会导致挂起).



1> Perchik..:

想象一下,你正在从碗里吃糖果.你经常拿一件.为了防止碗用完,有人可能会在碗变空之前重新装满碗,这样当你想要另一块时,碗里就会有糖果.

碗在你和糖果袋之间起缓冲作用.

如果你正在网上观看电影,网络服务将在接下来的5分钟左右不断下载到缓冲区中,这样你的计算机就不必在观看时下载电影(这会导致挂起).


+1:生产者和消费者以不同的费率运营时需要缓冲.糖果是大批量生产但少量消费 - 从制造商到口腔的整个供应链是一系列缓冲剂.
最好的比喻.让我渴望糖

2> John Saunder..:

术语"缓冲区"是一个非常通用的术语,并不是特定于IT或CS.这是一个临时存储的地方,以减轻输入速度和输出速度之间的差异.虽然生产者比消费者更快,但生产者可以继续将输出存储在缓冲区中.当消费者加速时,它可以从缓冲区读取.缓冲区位于中间以弥补差距.


如果您在http://en.wiktionary.org/wiki/buffer上平均定义,我想您会明白这一点.

为了证明我们真的"每天必须步行10英里才能上雪去学校",请参阅TOPS-10 Monitor Calls Manual第1卷,第11.9节"使用缓冲I/O",位于书签11-24.如果你受到噩梦,请不要阅读.


是的,"暂时存储某些东西的地方,以减轻输入速度和输出速度之间的差异",总结得很好.

3> Charlie Mart..:

缓冲区只是用于保存数据的一块内存.在最普遍的意义上,它通常是一个内存块,在一次操作中加载,然后在一个或多个Perchik的"糖果碗"示例中清空.例如,在C程序中,您可能具有:

#define BUFSIZE 1024
char buffer[BUFSIZE];
size_t len = ;

// ... later
while((len=read(STDIN, &buffer, BUFSIZE)) > 0)
    write(STDOUT, buffer, len);

...这是cp(1)的最小版本.这里,缓冲区数组用于存储read(2)读取的数据,直到写入为止; 然后重新使用缓冲区.

使用了更复杂的缓冲方案,例如循环缓冲区,其中使用了一些有限数量的缓冲区,一个接着一个; 一旦缓冲区全部填满,索引"回绕",以便重新使用第一个缓冲区.



4> karim79..:

缓冲区意味着"临时存储".缓冲区在计算中很重要,因为互连的设备和系统很少彼此"同步",因此当信息从一个系统发送到另一个系统时,它可以等到接收方系统准备就绪.



5> Fraser..:

实际上它取决于每种情况下的上下文,因为没有一个定义 - 但是通常说缓冲区是暂时保留某些东西的地方.我能想到的最好的现实世界比喻将是一个等待区.计算中的一个简单示例是缓冲区是指用于临时存储数据的RAM的一部分.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有