进程间通信的方式

本文详细介绍了进程间通信的关键技术,包括管道的匿名与命名应用、消息队列的工作原理、共享内存的高效特性、信号灯/信号量的使用以及套接字Socket在跨网络通信中的作用。深入探讨了这些技术的特点、操作步骤和应用场景。
摘要由CSDN通过智能技术生成

1.进程间通信概念 IPC

进程通常需要与其它进程进行协作完成工作任务,他们之间需要通信已到达信息交互的需求,进程的用户空间都是私有的,而内核空间是共享的,所以进程间通信是基于内核的通信技术进行数据传递。
在这里插入图片描述
常见的进程间通信技术包括:

  - 管道技术
  - 消息队列
  - 共享内存
  - 信号
  - 信号量
  - socket

2.管道技术

在shell管道中,第一个进程的输出可作为第二个进程参数输入,这样沿着管道命令传递下去。例如在Linux操作系统中ps -aux | grep java|命令符号就是管道。管道的特点是单工读写,也就是说数据传递是单向的,并且管道技术是进程通信手段里效率相对低下的。

2.1 匿名管道 pipe

     - 单工通信
     - 通信的进程必须是有亲缘关系
     - 管道创建时有2个文件描述符,分别指向读管道和写管道
     - 生命周期跟随进程

2.2 命名管道 fifo

     - `mkfifo`命令创建
     - 文件系统可见,存在于内存
     - 通信进程无需亲缘关系
     - 单工通信

3.消息队列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Minor王智

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值