Let Flag is declared Boolean Flag[2]
Process Pi Process Pj
while(true) while(true)
{ {
flag[i]=true; flag[j]=true;
while(flag[j]); while(flag[i]);
<critical section> <critical section>
flag[i]=false; flag[j]=false;
<remainder section> <remainder section>
} }
The above solution satisfies:
a Mutual Exclusion only
b Mutual exclusion and bound waiting satisfy only
c Mutual exclusion, progress only
d Progress only