进程间通信
目录
1. 进程间通信介绍
1.1 什么是进程间通信
1.2 进程间通信目的
1.3 怎么通信
1.4 进程间通信分类
2. 管道
3. 匿名管道
3.1 实例代码
3.2 用fork()来共享管道原理
3.3 站在文件描述符角度-深度理解管道
3.4 站在内核角度-管道本质
3.5 管道样例
3.5.1 测试管道读写
3.5.2 创建进程池处理任务
3.5.2.1 代码
3.5.2.2 进程池退出阻塞问题
3.6 管道读写规则
3.7 管道特点
3.8 管道通信的4种情况
3.9 管道的5种特性
3.10 管道写入原子性的影响因素
4. 命名管道
4.1 创建一个命名管道
4.2 匿名管道与命名管道的区别
4.3 命名管道的打开规则
5. system V共享内存
5.1共享内存示意图
5.2 共享内存数据结构
5.3 共享内存函数
5.3.1 shmget函数
5.3.2 shmctl函数
5.3.3 shmat函数
5.3.4 shmdt函数
5.4 共享内存实现通信代码
5.5 借助管道实现访问控制版的的共享内存
6. System V消息队列
6.1 msgget - 创建或获取消息队列
6.2 msgctl - 控制消息队列
6.3 msgsnd - 发送消息
6.4 msgrcv - 接收消息
7. System V信号量
7.1 semget - 创建或获取信号量集
7.2 mesctl - 删除信号量
7.3 查看信号量
7.4 删除信号量
7.5 并发编程,概念铺垫
7.6 信号量
7.7 System V是如何实现IPC的?和管道为什么不同呢?
7.7.1 应用角度,看IPC属性
7.7.2 内核角度,看IPC结构
1. 进程间通信介绍
1.1 什么是进程间通信
进程间通信(Inter-Process Communication,IPC)是指运行在同一台计算机或不同计算机上的多个进程间进程数据交换和通信的技术。由于每个地址都有自己的地址空间,它们无法直接访问彼此的数据,因此需要通过特定的机制来实现通信。IPC是操作系统和多进程编程中的一个重要概念,广泛应用于分布式系统,多任务操作系统以及各种应用程序之间。