问题
问答题
某工厂有两个生产车间和一个装配车间,两个生产车间分别生产A、B两种零件,装配车间的任务是把A、B两种零件组装成产品。两个生产车间每生产一个零件后都要分别把它们送到专配车间的货架F1、F2上。F1存放零件A,F2存放零件B,F1和F2的容量均可以存放10个零件。装配工人每次从货架上取一个零件A和一个零件B后组装成产品。请用P、V操作进行正确管理。
答案
参考答案:本题是生产者一消费者问题的变形,生产者“车间A”和消费者“装配车间”共享缓冲区“货架F1”;生产者“车间B”和消费者“装配车间”共享缓冲区“货架F2”。因此,可为它们设置6个信号量,其中,empty1对应货架F1上的空闲空间,其初值为10;full1对应货架F1上面的A产品,其初值为0;empty2对应货架F2上的空闲空间,其初值为10;full2对应货架F2上面的B产品,其初值为0;mutex1用于互斥地访问货架F1,其初值为1;mutex2用于互斥地方问货架F2,其初值为1。
A车间的工作过程可描述为:
B车间的工作过程可描述为:
装配车间的工作过程可描述为: