电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

二 真经之生产消费问题扩展[2]


发布日期:2022/7/24
 

思考

p和p每次执行时需要进行一些额外的操作对于p来说它首先必须在自己的缓沖区buf中写入至少m个数据此后p和p的同步可简单通过两个信号量来控制题目的一个变形是要求m≤(buf数据个数-buf数据个数)≤n那么信号量的初值就变成m和n若只有p向buf放入数据而p不放入数据到buf则p最多可放m次因此设置信号量s初值为m此外每当p放入一个数据到buf中时则使信号量s增1即p增加一次放入数据到buf的机会反之若只有p向buf放入数据而p不放入数据到buf则p最多可放n次因此设置信号量s初值为n此外每当p放入一个数据到buf中时则使信号量s增1即p增加一次放入数据到buf的机会

The PV code Using Pascal

begin

var mutex=mutex=s=ms=n:semaphore;

cobegin

process p

begin

repeat;

get data;

p(s);

p(mutex);

写数据到buf;

v(mutex);

v(s); //p每放入一个数据到buf同时使s增加1

end

process p

begin

repeat;

get data;

p(s);

p(mutex);

写数据到buf;

v(mutex);

v(s); //p每放入一个数据到buf同时使s增加1

end

coend

end

返回《操作系统之PV金典》

[] []

上一篇:二 真经之生产消费问题扩展[1]

下一篇:操作系统课程第三章-进程和线程的描述与控制[1]