小心,这有一个细微的错误。
我的思维模型:子进程向stdout / err生成一些东西,将其缓冲,并在缓冲区填充后将其刷新到子过程的stdout /
err,该子进程通过管道发送到父进程。
缓冲区由父进程和子进程共享。
子进程产生一些要输出到stdout的东西,这与父进程应该从中读取的缓冲区相同。
当缓冲区已满时,写入将停止,直到清空缓冲区。刷新对管道没有任何意义,因为两个进程共享同一个缓冲区。
刷新到磁盘意味着设备驱动程序必须将字节向下推送到设备。刷新套接字意味着告诉TCP /
IP停止等待累积缓冲区并发送内容。刷新到控制台意味着停止等待换行符,并将字节通过设备驱动程序推送到设备。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)