信号量与PV操作(理发师问题)
理发师问题
理发店里有一位理发师、一把理发椅和n把供等候理发的顾客坐的椅子。如果没有顾客,理发师就在理发椅上睡觉。当一个顾客到来后,他必须叫醒理发师。如果理发师正在理发时又有顾客到来,那么,如果有空椅子可坐,顾客就坐下来等待,否则离开理发店。
引入3个信号量和一个控制变量
int waiting, 等候理发师的顾客数,初值为0
customer, 是否有人需要理发,初值为0
barbers,是否有理发师可以理发,初值为0
mutex,互斥信号量,初值为1
2022-10-31 15:04:53
2.68MB
操作系统
1