PeterSon算法的学习
int functiona=0;//函数a的访问标记,0表示不请求
int functionb=0;//b的访问标记
int flag=1;//系统对a或者b的开放标记。1表示对a开放,2表示对b开放
funA()
{
functiona=1;//函数a要求进入临界区
flag=2;//临界区的标记为2,表示对函数b开放
while(functionb==1&&flag==2){}//如果b要求访问,并且对b开放,则a阻塞
functiona=0;
}
funB()
{
functionb=1;//请求资源
flag=1;
while(functiona==1&&flag==1){}
functionb=0;//释放资源
}
浙公网安备 33010602011771号