【Linux】管道文件(有名管道、无名管道)
多进程编程的目的就是为了同时完成多个任务。
例如:一个产品,一个软件,需要n个进程同时执行才能完成,而这些进程之间一定是有所联系的。
因此:多进程工作时,进程间需要通讯(传递数据)。
fork()创建的子进程,与父进程之间唯一共享的是文件描述符。
进程之间的通讯方式有:
- 管道
- 信号量
- 消息队列
- 共享内存
- Socket (用于网络通讯,即不同主机上进程之间的通讯)
关于单工、半双工、全双工通讯
单工通讯:任意时刻,数据流向均为单向
半双工通讯:同一时刻,数据流向为单向(管道文件)
全双工通讯:任意时刻,数据流向双向,即有两条信道(A->B B->A)