进程间的间接通信和管道通信有什么不同?

间接是通过一个实体,而管道是通过一个文件,这个实体不能是文件?

第1个回答  2022-08-13
我个人的理解:
管程是将所有公共资源维护起来,相当于一个仓库,所有的进程取用资源都需要在这里排队;管程有条件变量,对于访问公共资源的进程的管理更加多元化
而间接通信是只维护了需要用到的少量资源,也就是相当于一个信箱,只有和这个信箱有关联的进程才会在这里排队;间接通信只设置了等待队列,管理相对单一
总的来说,间接通信可以理解为轻量级的管程,更加单一和高效,管程则是间接通信的强化扩充版,更加普适和方便
第2个回答  2013-01-17
进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录交换信息。广义上这也是进程间通信的手段,但是一般都不把这算作“进程间通信”。
相似回答
大家正在搜