一、知识总览
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210207213953602.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW96aGl3ZWkzMTQ=,size_16,color_FFFFFF,t_70)
二、信号量机制实现进程互斥
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210207214336463.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW96aGl3ZWkzMTQ=,size_16,color_FFFFFF,t_70)
注意:
1.信号量mutex表示进入临界区的名额
2.对不同的临界资源需要设置不同的互斥信号量
3.P、V操作必须成对出现,缺少P(mutex)就不能保证临界资源的互斥访问。缺少V会导致资源永不被释放,等待进程永不会被唤醒。
三、信号量机制实现进程同步
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210207215122743.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW96aGl3ZWkzMTQ=,size_16,color_FFFFFF,t_70)
注意口诀:前V后P
四、信号量机制实现前驱关系
注:其实每一对前驱关系都是讴歌进程同步问题(需要保证一前一后的操作)。因此:
1)要为每一对前驱关系各设置一个同步信号量
2)在“前操作”之后对相应的同步信号量执行V操作
3)在“后操作”之前对相应的同步信号量执行P操作
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210207215911655.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW96aGl3ZWkzMTQ=,size_16,color_FFFFFF,t_70)
五、总结
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210207220146435.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW96aGl3ZWkzMTQ=,size_16,color_FFFFFF,t_70)