信号量机制实现进程互斥同步前驱关系
Posted 杀手不太冷!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了信号量机制实现进程互斥同步前驱关系相关的知识,希望对你有一定的参考价值。
信号量机制实现进程互斥、同步、前驱关系
知识总览图
信号量机制实现进程互斥
信号量机制实现进程同步
题目同步要求:要求线程P2的代码4要执行在线程P1的代码2的后面,如下图:
分析如下图:
“前操作”指的就是代码2,“后操作”指的就是代码4
上图中的目的是要实现同步,要让代码4执行在代码2的前面,假如刚开始执行的是线程P1,那么等到代码2执行之后,会执行V(S)操作,这个时候会让S++,S就变成了1,接着执行P2线程的P(S),由于此时S>0,表示有可用的资源,因此P2线程不会阻塞,所以会紧接着执行代码4,因此这种情况下,能保证代码4在代码2的后面执行,也就保证了同步;另外一种情况,加入先执行的是P2进程,这个时候由于S的值是0,因此没有可用的资源,S的值会变成-1,所以会让P2进程阻塞,然后会执行P1进程,等到执行P1进程的V(S)代码的时候,会让S++,这个时候S的值会变成S=0,因此会唤醒阻塞的进程,所以会唤醒P2进程,然后P2进程会执行代码4,这种情况也能保证代码4是在代码2的前面执行的。
信号量机制实现前驱关系
以上是关于信号量机制实现进程互斥同步前驱关系的主要内容,如果未能解决你的问题,请参考以下文章
操作系统王道考研 p20-21 信号量机制用信号量机制实现进程互斥同步前驱关系(内含PV操作,十分重要)
信号量机制的相关概念及其实现进程互斥进程同步和进程前驱关系的方法