UNIX系统上的C语言进程间通信
1. 引言
在UNIX系统中,进程间通信(IPC)是一个重要的概念。System V IPC提供了三种不同的形式:消息队列、信号量和共享内存。这些形式各有特点,在不同的场景中发挥着重要作用。
2. System V IPC概述
2.1 共同特点
- 使用键(key) :每种IPC形式都使用
key_t类型的键来引用特定的数据结构。键是一个长整数,用于为不同程序提供一个共同的名称来引用同一数据结构。 - 权限结构 :每种IPC形式都有与之关联的权限结构,包括用户和组所有权,以及类似于文件权限的读写权限。可以通过控制函数来获取和修改这些权限。
- 操作函数 :每种IPC形式都提供了各种操作函数,用于实现具体的IPC操作。
2.2 三种形式对比
| IPC形式 | 特点 | 用途 |
|---|---|---|
| 消息队列 | 结合了虚电路和数据报的特点,消息按顺序到达,但接收顺序可由接收进程决定 | 进程间消息传递 |
| 信号量 | 用于进程间的信号传递,通常用于保护修改共享数据结构的关键代码 |
超级会员免费看
订阅专栏 解锁全文
1180

被折叠的 条评论
为什么被折叠?



