131
Solution of P/C: unbounded buffer
Producer:
repeat
  produce v;
  wait(S);
  append(v);
  signal(S);
  signal(N);
forever
Consumer:
repeat
  wait(N);
  wait(S);
  w:=take();
  signal(S);
  consume(w);
forever
Initialization:
  S.count:=1;
  N.count:=0;
  in:=out:=0;
critical sections
append(v):
b[in]:=v;
in++;
take():
w:=b[out];
out++;
return w;