进程间的通信方式

无名管道,有名管道,信号,消息队列,共享内存,socket

项目Value
无名管道最简单,数据只能读取一次,半双工,匿名管道只能是有血缘关系间的通信
有名管道用于没有血缘关系间的进程通信
信号简单,携带的信息量少,使用在特定的场景,优先级高。建议不要使用信号量在进程间的通信,因为信号的优先级高会打破原有进程的执行过程
消息队列消息队列是消息的链表,存放在内存中,由内核维护 消息队列的特点 1、消息队列中的消息是有类型的。 2、消息队列中的消息是有格式的。 3、消息队列可以实现消息的随机查询。消息不一定要以先进先出的次序读取,编程时可以按消息的类型读取。4、消息队列允许一个或多个进程向它写入或者读取消息。 5、与无名管道、命名管道一样,从消息队列中读出消息,消息队列中对应的数据都会被删除。6、每个消息队列都有消息队列标识符,消息队列的标识符在整个系统中是唯一的。7、只有内核重启或人工删除消息队列时,该消息队列才会被删除。若不人工删除消息队列,消息队列会一直存在于系统中。
共享内存效率高,不需要太多次数据拷贝,可以直接读写,缺点:不能保证数据同步,只能借助信号量保证同步
socket主要用于网络中的进程间通信,通信过程以及数据复杂,但安全可靠
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值