问答题
假设一个系统有三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要有三种材料:烟草、纸和胶水。一个抽烟的有烟草,另一个有纸,第三个有胶水。供应者进程无限地提供三种材料,供应者每次将两种材料放到桌子上,拥有剩下那种材料的抽烟者卷一根烟并抽掉它,并给供应者一个信号告诉完成了,供应者就会放另外两种材料在桌上,这种过程一直重复(让三个抽烟者轮流地抽烟)。请用信号量及PV操作实现这四个进程的并发执行。
【参考答案】
(此题与爸爸放苹果和桔子,女儿取桔子,儿子取苹果一题类似。)设置四个信号量empty一1表示桌子是否为空,yan=0表示......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)