【正确答案】共享数据结构是: var barber,wait:semaphore;{初始值=0} entry:semaphore;{初始值=1} couter:integer; {初始值=0} 关于理发师的代码段: repeat p(barber); "share" until false; 关于顾客的代码段: p(entry); if count=n then exit; count:=count+1; if count>1 then begin v(eatry); p(wait); end else begin v(entry); v(barber); "share" p(entry); count:=count-1; if count>0 then v(wait); v(entry); end