【Linux 杂货铺】进程间通信

1.进程为什么要通信呢?

①🍎 为了进程之间更好的协同工作,举个例子,在学校,学院的管理人员给教师安排课程的时候,必须事先知道该教师平常的上课情况,不然会将教师的课程安排到一起造成麻烦!

②🍎 事实是进程是具有独立性的,进程 = 内核数据结构 + 代码和数据,例如:A 进程就不能看到 B 进程的任何信息代码段和数据段,所以因为这个事实,进程需要通信必须采取其他办法。

注意❗: 在 fork() 函数中,子进程会继承父进程的数据,包括代码段、数据段、堆栈等。虽然子进程继承了父进程的数据,但它们是独立的执行实体,彼此之间并没有直接的通信机制。因此,fork() 不能被看作是进程之间的通信。 而且进程通信的意思是一直通信,随时联系的意思,而 fork( )只是一下子进程继承父进程关系!

2.进程之间如何通信呢?

①🍎 进程之间通信的成本可能会稍微高一下,原因是:进程之间有独立性。

②🍎 **进程间通信的前提:**先让两个不同的进程,必须看到同一份(操作系统)资源(“一段内存”)。

因为进程具有独立性,所以为了实现进程通信,必须找到**“一份公共的区域来存放两个进程的内核数据结构以及代码和数据”**。

在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 07:28:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 07:28:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 07:28:03       82 阅读
  4. Python语言-面向对象

    2024-04-21 07:28:03       91 阅读

热门阅读

  1. springboot WebFilter+@Component urlPatterns 全部拦截

    2024-04-21 07:28:03       33 阅读
  2. 数组双指针

    2024-04-21 07:28:03       31 阅读
  3. MySQL 中的数据文件配置文件

    2024-04-21 07:28:03       36 阅读
  4. Few-Shot, Zero-Shot & One-shot

    2024-04-21 07:28:03       34 阅读
  5. 腾讯云免费ssl证书申请与宝塔手动部署

    2024-04-21 07:28:03       34 阅读
  6. 【Python基础】Lambda匿名函数

    2024-04-21 07:28:03       34 阅读