Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1736548
  • 博文数量: 438
  • 博客积分: 9799
  • 博客等级: 中将
  • 技术积分: 6092
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-25 17:25
文章分类

全部博文(438)

文章存档

2019年(1)

2013年(8)

2012年(429)

分类: 系统运维

2012-04-02 17:18:40

我们已经深入探讨了许多形式的进程间通信:管道、命名管道(FIFO),和三个普遍称为XSI IPC的IPC形式(消息队列、信号量和共享内存)。信号量其实是一个同步原始例程,不是真实的IPC,并通常用来同步对一个共享资源的访问,比如一个共 享内存段。通过管道,我们看了popen函数的实现、看了协进程,已经标准I/O库的缓冲带来的缺陷。


在比较消息队列和全双工管道的计时、 信号量和记录锁的计时后,我们可以做出如下建议:学习管道和FIFO,因为这两个基本技术仍可以被有效地使用在许多应用里。避免在新的应用里使用消息队列 和信号量。全双工管道和记录锁应该被考虑,因为它们要简单地多。共享内存仍然有它的用处,尽管相同的功能可以通过mmap函数的使用来提供(14.9 节)。


在下章,我们将看下网络IPC,它允许进程跨过机器边界来通信。

阅读(761) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~