2.3.5 用信号量机制实现进程互斥、同步、前驱关系
目录
2.3.5.1 用信号量机制实现进程互斥
由之前的学习我们知道进程互斥就是在同一时间访问临界资源的进程只能有一个。并且P操作是申请资源并上锁的原语,V操作时释放资源并解锁的原语,我们引用一个互斥信号量mutex表示进入临界区的名额,并设置初值为1来实现进程互斥。
1. 分析并发进程的关键活动,划定临界区(如:对临界资源打印机的访问就应放在临界区)
2. 设置互斥信号量 mutex,初值为 1
3. 在进入区 P(mutex)——申请资源
4. 在退出区 V(mutex)——释放资源
这里需要注意:P(mutex)与V(mutex)必须成对存在,如果缺少P那么互斥性就不可以保证,如果缺少V就导致资源不能解锁,并且等待进程永远不会被唤醒。