定义
系统中的某些资源是必须互斥访问的,而访问这种系统资源的那段代码称作临界区。肌肉需要互斥访问,说明同一时刻只能有一个进程进入临界区。
步骤
1. 分析并发进程的关键活动,划定临界区
2. 设置互斥信号量metux,初值为1
3.在进入区执行P(metux),即wait操作,申请资源
4. 在退出区执行V(metux),即signal操作,释放资源
注:metux是一个记录型信号量;对不同的临界资源,要设置不同的互斥信号量;P、V操作必须成对出现
P1()
{
...
P(mutex);//使用临界资源前加锁
临界区代码
V(metux);//临界资源使用完解锁
}
P2()
{
...
P(mutex);//使用临界资源前加锁
临界区代码
V(metux);//临界资源使用完解锁
}