sem odd=0,even=0,empty=n,mutex1; p1() { x=produce(); p(empty); p(mutex); put(); v(mutex); if(x%2==0) v(even); else v(odd); } p2() { p(odd); p(mutex); getodd(); v(mutex); v(empty); countodd(); } p3() { p(even); p(mutex); geteven(); v(mutex); v(empty); counteven(); }
2009 三进程奇偶访问缓冲区
sem odd=0,even=0,empty=n,mutex1;
p1()
{
x=produce();
p(empty);
p(mutex);
put();
v(mutex);
if(x%2==0)
v(even);
else
v(odd);
}
p2()
{
p(odd
0
0
0
精彩评论