试修改下面生产者-消费者问题解法中的错误(重新写出完整的代码): Var mutex,full,empty : semaphore:=1,0,n;//n是缓冲区单元格总数 producer: begin repeat ... producer an item in nextp; wait(mutex); wait(full); buffer(in):=nextp; signal(mutex); until false; end consumer: begin repeat wait(mutex); wait(empty); nextc:=buffer(out); out:=out+1; signal(mutex); consumer item in nextc; until false; end