进程通信及三种方式

本文介绍了三种主要的进程通信方法:共享存储(高级,互斥访问),消息传递(格式化消息,直接/间接通信),以及管道通信(半双工,基于内存缓冲)。
摘要由CSDN通过智能技术生成

进程通信:有三种方式共享存储,管道通信,和消息传递。
1。共享存储:两个进程通过共享存储区来进行进程通信,其中数据的形式和存放位置都由通信进程控制,而不是操作系统,这种基于共享存储区的方式速度很快,是一种高级通信方式。为避免出错,各个进程对共享空间的访问应该是互斥的。还有基于数据结构的共享,比如共享空间里只能放一个长度为10的数组,这种方式速度慢是低级通信。
2.消息传递
进程间的数据交换以格式化的信息为单位,进程通过操作系统提供的“发送信息和接收信息”两个原语进行 数据交换。格式化的消息包括消息头和消息体。消息头包括发送进程ID,接收进程ID及消息长度等,消息体就是具体数据
消息传递也包含直接通信和间接通信,直接通信就是发送进程要指明接收进程的ID。间接通信就是通过“信箱”间接通信。
3.管道通信:
管道是一个特殊的共享文件由名pipe文件,其实就是在内存中开辟一个大小固定的内存缓冲区,管道通信本质就是一个循环队列,要求先进先出。管道通信采用半双工通信,某一时间段只能实现单向传输。各进程要互斥地访问管道。管道中的数据一旦被读出,就彻底消失了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值