进程同步的概念
进程同步是指多个相互合作的进程在一些关键点上可能需要互相传递消息、互相等待,这种互相制约的现象称为进程的同步。
进程通信几种方式
共享内存
相当于在存储器中划分了一块共享的存储区。进程向系统申请一块共享存储区,并指定关键字,将共享存储区的描述符返回给申请者,则进程便可以使用该共享存储区来进行通信。
消息队列
类似于一个缓冲,发送进程将消息发送至消息缓存队列中,接受进程从消息缓存队列中取出。(挂号信)
管道
管道是一个共享文件,发送进程以字符流的形式将数据存储与管道中,接收进程从管道中接收数据。
套接字
网络的编程接口Scoket={IP,端口号}
信号
通过信号通知进程的通信。
进程同步的几种方式
管程
管程把分散在各个进程中互斥访问的公共变量的临界区集中起来,对其保护。管程类似于一个秘书,为每个资源设立一个秘书,管理资源的访问。一切来访者都需要通过秘书对进程进行访问。
信号量
信号量是一个二元组(S,P);当S>0时,S表示进程中能够访问的资源个数;当S<0时,S表示阻塞的进程个数;
消息队列
类似于一个缓冲,发送进程将消息发送至消息缓存队列中,接受进程从消息缓存队列中取出。