[Chapter10] 两个进程间通信为什么要两个管道,一个不行吗?

背景:之前用管道连接2个进程时(pipe ls head、pipe who sort...),需要两个管道,但为什么不能用一根管道呢?
      一个进程可以从管道的读端口读取另一个进程发来的控制信号,然后再从写端口将结果发送回去啊!
解答:这样会导致数组错乱。因为当你从写端口将算出来的结果发送回去后,一般会立即读下一个控制信号,但此时读回来的可能是自己刚刚发出去的。
      实际上管道就是一个队列。

posted @ 2020-06-15 15:40  凉风SK  阅读(290)  评论(0编辑  收藏  举报