进程通信方式

进程间互相通信方式:

信号

双方间通信,在发送方向接收方发送消息后,接收方可以选择立即接收信号,也可以延迟接收,若接收方处于阻塞状态,则等待阻塞状态完毕后再接收消息进行处理;

接收方一般有三种处理方式:

(1)接收到信号后进行默认操作

(2)进行特定操作

(3)不进行操作

在接收到信号后也可以选择阻塞一段时间再进行相应的操作。

管道

管道是一种半双工通信方式,分为两种管道:无名管道和有名管道

(1)无名管道:不具有名称的管道,因为不具有名称,所以不被所有进程所共享,一般用于父子进程间通信,若需要双方通信,需要建立两个管道完成。

(2)有名管道:具有名称的管道,创建管道后,可以被系统进程所共享,若具有一定的权限,则可以对管道进行访问。

信号量

信号量用来进行进程间协调,通过对信号量的 p/v 操作来实现进程同步。

消息队列

信号队列是发送和接收双方共同维持的一个链表队列,发送方向队列中添加消息,接收方从队列中读取消息,消息种类是多样的,可以为每一条消息设置优先级,但是接收方读取消息的时候可以不按顺序读取。

共享内存

在进程外部创建一片内存区域被所有进程锁共享,通过这一片内存区域的修改进行进程间的通信,速度快,但是在多进程共同修改的时候需要注意内存区域的安全问题,就像线程安全问题一样,需要对修改操作进行加锁等操作。

转载于:https://juejin.im/post/5cb729486fb9a0685255385d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值