有人可以解释管道缓冲区死锁吗?

有人可以解释管道缓冲区死锁吗?,第1张

有人可以解释管道缓冲区死锁吗?

小心,这有一个细微的错误。

我的思维模型:子进程向stdout / err生成一些东西,将其缓冲,并在缓冲区填充后将其刷新到子过程的stdout /
err,该子进程通过管道发送到父进程。

缓冲区由父进程和子进程共享。

子进程产生一些要输出到stdout的东西,这与父进程应该从中读取的缓冲区相同。

当缓冲区已满时,写入将停止,直到清空缓冲区。刷新对管道没有任何意义,因为两个进程共享同一个缓冲区。

刷新到磁盘意味着设备驱动程序必须将字节向下推送到设备。刷新套接字意味着告诉TCP /
IP停止等待累积缓冲区并发送内容。刷新到控制台意味着停止等待换行符,并将字节通过设备驱动程序推送到设备。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5648062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存