io缓冲

作者: 倒数第三 | 来源:发表于2018-03-22 14:01 被阅读0次
#include <unistd.h>  
#include <stdio.h>  
  
int main()  
{  
    for (int i = 0; i < 2; i++)  
    {  
        fork();  
        printf("*");  
    }  
      
    return 0;  
}  

此段代码会输出8个“*”,因为printf标准输出默认是行缓存,fork子进程会把父进程缓存区同样copy一份。
缓冲机制:
缓冲机制一般分为:全缓冲、行缓冲、无缓冲。
全缓冲:缓冲区满了以后,才发生真正的IO。我们通常用的磁盘文件IO就是这样的。
行缓冲:缓冲区满了以后或者缓冲区收到一个换行符(表示已输入或输出一行),后才发生真正的IO,比如标准输出和标准输入默认的缓冲机制就是行缓冲。
无缓冲:立即发生IO,通常标准出错是不带缓冲的。

相关文章

  • 软件架构设计-操作系统

    操作系统 直接IO与缓冲IO 缓冲io又称作标准I/O,大多数文件系统的默认IO操作都是缓冲IO。在linux的缓...

  • 非缓冲io与缓冲io

    系统调用 在讲解io之前,先介绍下系统调用。系统调用是操作系统内核提供给外部访问的最小接口,运行在内核态,如果应用...

  • io缓冲

    此段代码会输出8个“*”,因为printf标准输出默认是行缓存,fork子进程会把父进程缓存区同样copy一份。缓...

  • python3从零学习-5.6.2、io.py模块

    源代码: Lib/io.py io.DEFAULT_BUFFER_SIZE 包含模块缓冲 I/O 类使用的默认缓冲...

  • java-nio学习之java io比较

    java io 基本介绍 java nio和io区别 面向流与面向缓冲 IO是面向流的,NIO是面向缓冲区的。 J...

  • 2019-04-30——Java NOI

    经典java IO库 对于经典的IO除了Buffered开头的类,其他均没有加缓冲区,除非手动添加缓冲区 经典io...

  • Java NIO 和 IO 之间的主要差别

    NIO 和 IO 之间的主要差别 IO NIO 面向流 面向缓冲 阻塞IO 非阻塞IO 无 ...

  • IO模型

    IO读写 read:把数据从内核进程复制到进程缓冲区 write:把数据从进程缓冲区复制到内核缓冲区 阻塞IO 需...

  • 【JAVA】总结四

    阻塞IO和非阻塞IO 发送端往缓冲区写入数据,当发送端缓冲区数据满了,发送端write就会阻塞,接收端从接收端缓冲...

  • NIO

    传统IO和普通IO的区别 传统IO:面向流,阻塞IO(Blocking), selector NIO:面向缓冲区,...

网友评论

      本文标题:io缓冲

      本文链接:https://www.haomeiwen.com/subject/ssdaqftx.html