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;//释放资源

}

posted on 2013-09-12 16:01  St_彼得朱  阅读(223)  评论(0)    收藏  举报