问题
多项选择题
用进程通信的方法解决生产者消费者问题,要求生产者能告诉消费者产品的说明、规格、价格等,而消费者能反馈对物品的评价和处理情况。
答案
参考答案:设生产者消费者进程要设立的公用信箱B,假设现在信箱中放一封初始信件,表示物品已取走。
用进程通信管理生产者消费者问题的程序如下;
begin
:
process producer
:
begin
LA:produce a product;
LB:receive (B,K)
if {x中设有表示物品已取走} then go to LB;
else begin
{组织回信M};
’/M中含产品完成存放地点,产品说明,规格价格等
send(B,M);
end;
goto LA
end;
process consumer
begin
LC:receive (B,Y);
if{Y中表示产品已完成}then
begin
{按信件中地址取出物品};
{组织回信M};
’/回信中表示物品已取走,并反映对产品的评价和处理情况
send(B,M);
goto LC
end;
end;
end;