本来进程之间是相互独立的。但是由于不同的进程之间可能要共享某些信息,所以就必须要有通讯来实现进程间的互斥和同步。比如说共享同一块内存、管道、消息队列、信号量等等就是实现这一过程的手段,相当于移动公司在打电话的作用。
进程间通信可以通过两种基本方式实现:
1、利用共享内存区域实现数据或代码段的共享存取;
2、利用系统内核提供的进程间通信工具实现,IPC是由消息传递系统提供的。
第二种方式被广泛应用,尤其是基于互联网的进程通信机制。它又可以划分为直接通信和间接通信。前者需要通信双方明确命令接收者和发送者,而后者通过端口或邮箱进行发送。