经典并发问题: 大型理发店

鸟窝 at 
二月二理发店太火了,家家都爆满,这次我们来到 Hilzer 的理发店,这是一家比较大的理发店。这家理发店有三位有经验的理发师,每个理发师都有自己独立的理发椅。等待区有一个四座的沙发,等待区还有站一些人等待。还有一个收银台。依照新冠疫情防控的要求,最多允许 20 个顾客进入。如果有顾客,理发师优先从沙发上叫起等待最久的顾客开始理发;如果没有顾客,理发师则在自己的理发椅上睡觉顾客来到后如果已经有 20 个顾客,则此顾客离开去其它理发店如果理发师在睡觉,则叫起一位理发师开始理发如果没有空闲的理发师,则选择沙发坐下如果沙发已经坐满,则在休息去站着等待理完发后顾客去收银台去缴费,交完费后理发师把发票交给……