2020/10/8 16:02
面包师问题。 面包师有很多面包和蛋糕,由N个销售人员销售。 每个顾客进店后先取一个号,并且等着叫号。 当一个销售人员空闲下来,就叫下一个号。 试用信号量的P、V操作设计该问题的同步算法,给出所用共享变量(如果需要)和信号量及其初始值,并说明各自的含义。
1.取号和叫号都属于互斥行为,不能同时又两个顾客取号,也不能同时有两个销售人员叫号,因此取号和叫号都要在临界区。 2.要有空闲的销售人员顾客才能消费,所以要等销售人员释放资源后,顾客才能消费,否则阻塞。 3.对于取号,不管有没有空闲的销售人员都可以取号,因此P(mutex_c)在P(salesman)前面,但是要有销售人员要有顾客才能叫号,因此P(mutex_s)在P(customers)后面。
