进程间通信

什么是进程通信

百度百科:进程通信是指在进程间传输数据(交换信息)。
也就是说,进程通信,就是不同进程之间,来进行的信息交换。
进程间通信(IPC)的一般目的,大概有数据传输、共享数据、通知事件、资源共享和进程控制等。

为什么需要进程通信

那么为什么会需要进程通信的存在呢?
我们知道,操作系统中最核心的概念就是进程,进程是对正在运行中的程序的一个抽象,是系统进行资源分配和调度的基本单位。每个进程都有独立的代码和数据空间,系统在运行的时候会为每个进程分配不同的内存空间
也就是说,在操作系统层面,进程属于最小颗粒,两个进程之间,是没有什么关联性的,是隔离的,当两个进程间需要进行信息交换的时候,就需要用到进程通信。

进程通信的方式

这部分属于操作系统的内容,想详细了解的可以找操作系统的书来看一下
进程通信的方式有七种,分别是:

管道pipe

半双工/单项通信/父子/依赖文件系统
在这里插入图片描述

有名管道FIFO

全双工/不需要亲缘关系/命名管道/先进先出

共享内存shared memory

互相通信在这里插入图片描述

消息队列message queue

链表 ,互相通信
在这里插入图片描述

信号量semophore

计数器,控制对共享资源的访问,pv操作
保护上面的 共享内存shared memory

信号sinal

异步通信,通知接收进程某个事件已经发生
以下为linux中的信号
在这里插入图片描述

套接字socket

不同主机间进行通信用这个,同个主机内的进程也可以用

远程调用

不同主机进程间的通信,就是通过socket,是否还有其他方式,
http应该算一种。

redis的实现

此处提到redis,是因为,redis的客户端和服务端,其实就是通过socket来连接的,可以注意一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

盖丽男

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

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

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

打赏作者

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

抵扣说明:

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

余额充值