知识总览
什么是进程通信
进程通信就是进程之间的信息交换。
进程是分配系统资源的单位(包括内存地址空间),因此,各进程拥有的内存地址空间相互独立。
一个进程不能直接访问另一个进程的地址空间。
进程间通信的方法有:
- 共享存储
- 消息传递
- 管道通信
共享存储
两个进程对共享空间的访问必须是互斥的。
管道通信
注意:
管道一段时间内只能实现单向的传输。
各进程要互斥地访问管道。
没写满就不能读;没读完就不能写。
第五条,举个例子:
两个进程1、2都想读数据A,进程1读完数据A后A就被抛弃了,进程2就无数据可读。
消息传递
注意:
消息传递:数据交换以格式化的消息为单位。
“发送消息”和“接收消息”是两个原语。
右下角的图其实是“
进程1通过发送原语把消息发给信箱,进程2通过接收原语把消息取走。