11、用信号量机制实现进程同步、互斥、前驱关系
思维导图
用信号量机制实现进程同步
先来看一下什么是进程同步:
进程同步:要让各个并发进程按照要求的顺序有序的执行
例如:
你买了菜才可以做饭;二者有必须的前后次序。
对于图中代码段:
当P2执行时,当他执行到P(S),此时他的资源为0(初始为0),就会被阻塞;
只有当P1执行完代码1、代码2后释放了资源,P2才能继续执行代码4、代码5、代码6,从而实现了12一定在456之前执行的要求。
用信号量机制实现进程互斥
mutex:就表示一个是否可以进入临界区的名额,初始为1;
当A进程申请进入时,有一个名额,就可以进入临界区;此时进程B也想进入临界区,但是此时没有名额了,就进不去了;他只能等进程A出来才可以进去;
用信号量机制实现进程的前驱关系
本质来看:就是多级的同步问题。