全缓冲 行缓冲 无缓冲

首先介绍一下UNIX里面关于标准IO的几种缓冲机制:1、全缓冲 。全缓冲指的是系统在填满标准IO缓冲区之后才进行实际的IO操作;注意,对于驻留在磁盘上的文件来说通常是由标准IO库实施全缓冲。比如往 磁盘文件写东西,就是全缓冲。2、行缓冲 。在这种情况下,标准IO在输入和输出中遇到换行符时执行IO操作;注意,当流涉及终端的时候,通常使用的是行缓冲。比如 屏幕打印,就是行缓冲。

3、无缓冲 。无缓冲指的是标准IO库不对字符进行缓冲存储;注意,标准出错流stderr通常是无缓冲的。

术语 冲洗(flush) 就是 标准IO缓冲区的 写操作。

提供缓冲的目的是尽可能减少 调用read 和 write 的次数。

虽然有时会令人迷惑,不过这也是提高效率的方法。 举个生活中的例子, 比方你要把钱存到银行里, 无缓冲 就是 有一块钱 就去一次银行, 又两块也去一起,不管有多少钱,有就去,这样就很麻烦。 缓冲的意思是,比方缓冲大小是 1000元。 当你攒够一千的时候才去一次, 平时不足1000的就现在自己兜里积累着。 这样减少了去银行办理业务的时间,也就节约了时间。

冲洗或者刷新(flush) 就是说 虽然还没有装满缓冲区 ,但因为别的原因,,很紧急,我要立即去把钱存进去 ,这时就主动调用一下flush。

思想如钻子,必须集中在一点钻下去才有力量

全缓冲 行缓冲 无缓冲

相关文章:

你感兴趣的文章:

标签云: