进程通信的含义
进程是转入内存并准备执行的程序,每个程序都有私有的虚拟地址空间,由代码,数据以及它可利用的系统资源(如文件,管道)组成.多进程/多线程是windows操作系统的一个基本特征.Linux系统一般都统称为进程.
由于不同的进程运行在各自不同的内存空间中,其中一个进程对于变量的修改另一方是无法感知的,因此,进程之间的消息传递不能通过变量或其他数据结构直接进行,只能通过进程间通信来完成.进程间通信是指不同进程间进行数据共享和数据交换.
进程通信的分类
根据进程通信时信息量大小的不同,可以将进程通信划分为两大类型:控制信息的通信(低级通信)和大批数据信息的通信(高级通信).
低级通信主要用于进程之间的同步,互斥,终止和挂起等等控制信息的传递.
高级通信主要用于进程间数据块数据的交换和共享,常见的高级通信有管道,消息队列,共享内存等.
进程通信的方式
1)文件和记录锁定
为避免两个进程间同时要求访问同一资源而引起访问和操作的混乱,在进程对共享资源进行访问前必须对其锁定,该进程访问完后再释放.