io缓冲

#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,通常标准出错是不带缓冲的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,452评论 19 139
  • 操作系统概论 操作系统的概念 操作系统是指控制和管理计算机的软硬件资源,并合理的组织调度计算机的工作和资源的分配,...
    野狗子嗷嗷嗷阅读 14,179评论 3 34
  • 原文地址:https://github.com/JuanitoFatas/slime-user-manual#24...
    四月不见阅读 8,465评论 0 2
  • 曾经我们迷惘不定方向 往来的的偏激 易不在惊涛骇浪间骤然而起 寂寥无声夹杂着往回思考 如果那时的我。那时的我们 再...
    柚稚YY阅读 3,520评论 0 12
  • 引言:全局变量是魔鬼,我们最好不要与它打交道;使用闭包的好处是让函数自我管理,通过现有函数生成(return)新的...
    LuckyJing阅读 1,872评论 0 2