进程间通讯(一)管道

这篇博客探讨了进程间通讯的方式,重点讲解了管道通信,包括有名管道和无名管道的概念、特点及操作步骤。管道作为一种半双工通信方式,常用于父子进程之间的数据交换。文章详细阐述了管道的创建、打开、读写和关闭过程,并提到了阻塞运行的函数行为。
摘要由CSDN通过智能技术生成

进程间通讯:多个进程之间数据交换。

进程间通讯方式:信号、管道、信号量、消息队列、共享内存、套接字(socket)

进程创建:pid_t  fork

进程间数据共享问题:

               全局变量、堆、栈       不共享

               文件                             共享

按照信号传送方向与时间的关系,数据通信可以分为三种类型:单工通信、半双工通信、全双工通信。

            单工通信:信号只能向一个方向传输,任何时候都不能改变信号的传送方向。

            半双工通信:信号可以双向传递,但是必须是交替进行,一个时间只能向一个方向传送。

            全双工通信:信号可以同时双向传递。

管道在同一时刻只能是半双工通信。


有名管道:在文件目录树中有一个文件标示(管道文件),实际不占磁盘空间,数据缓存在内存上。

                  应用于任意两个进程之间数据的单向传递。

具体操作

       创建:(命令方式)mkfifo         (函数方式)mkfifo()

       打开:           open

       写数据:        write

       读数据:        read

       关闭:           close


maina.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值