进程间通信方式简介

本文简单介绍进程间通信方式,包含

  • 普通管道
  • 共享内存
  • 消息队列
  • 套接字

一、普通管道

普通管道(pipe):通常有两种限制,一是单工,只能单向传输;二是只能在父子或者兄弟进程间使用.
linux shell中使用的管道操作就是这种原理,例如以下命令:

$ ls | pr

该命令把命令ls(列出目录中的文件)的输出通过管道连接到命令pr的标准输入上进行分页。


二、共享内存

共享内存即由一个进程创建,系统中其它多个进程都可以访问的区域。通过对该共享内存的操作实现进程间消息的传递。


三、消息队列

消息队列,就是一个消息的链表,是一系列保存在内核中消息的列表。用户进程可以向消息队列添加消息,也可以向消息队列读取消息。

消息队列与管道通信相比,其优势是对每个消息指定特定的消息类型,接收的时候不需要按照队列次序,而是可以根据自定义条件接收特定类型的消息。

可以把消息看做一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息,对消息队列有读权限的进程可以从消息队列中读取消息。

进程间通过消息队列通信,主要是:创建或打开消息队列,添加消息,读取消息和控制消息队列。


四、套接字

套接口(Socket)可用于不同机器的进程间的通信。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值