在生产者/消费者问题中,用s表示实施互斥的信号量,e表示与缓冲区空闲空间数量相关的信号量,n表示与缓冲区中数据项个数相关的信号量,下列生产者和消费者的操作(生产者和消费者可并发执行),可能产生死等的是

7 查阅

在生产者/消费者问题中,用s表示实施互斥的信号量,e表示与缓冲区空闲空间数量相关的信号量,n表示与缓冲区中数据项个数相关的信号量,下列生产者和消费者的操作(生产者和消费者可并发执行),可能产生死等的是()。

A.消费者:wait(s);wait(n);take();signal(e);signal(s);生产者:wait(s);wait(e);append();signal(n);signal(s);

B.消费者:wait(n);wait(s);take();signal(s);signal(e);生产者:wait(s);wait(e);append();signal(n);signal(s);

C.消费者:wait(s);wait(n);take();signal(e);signal(s);生产者:wait(e);wait(s);append();signal(s);signal(n);

D.消费者:wait(n);wait(s);take();signal(s);signal(e);生产者:wait(e);wait(s);append();signal(s);signal(n);

参考答案:

答案:消费者:wait(s);wait(n);take();signal(e);signal(s);生产者:wait(s);wait(e);append();signal(n);signal(s);;消费者:wait(n);wait(s);take();signal(s);signal(e);生产者:wait(s);wait(e);append();signal(n);signal(s);;消费者:wait(s);wait(n);take();signal(e);signal(s);生产者:wait(e);wait(s);append();signal(s);signal(n);