计算机操作系统题,爸爸放水果,儿子女儿吃的问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:17:45
桌子上有个空盘,允许放一个水果,爸爸向盘子里放平和橘子,儿子吃橘子,女儿吃苹果,用wait 和signal 实现爸爸,儿子和女儿三个并发进程的同步。

计算机操作系统第二章进程的问题,考试题~~

哪位高手给个精确点的答案~

是用P,V原语实现的那个吧,
先画一个图,父箭头到儿,再父箭头到女,再儿和女一起在下面画条横线,儿和女的箭头到父
然后:
S(儿)=0,S(女)=0,S(父盘)=1
P(S盘) P(S儿) P(S女)
放 取走 取走
计放苹果then V(S女)
else V(S儿)
要注意那些括号都要在右下角标记~
这些是老师讲课时候记的笔记~o(∩_∩)o...

这是盈亏问题。
把若干物体平均分给一定数量的对象,并不是每次都能正好分完。如果物体还有剩余,就叫盈;如果物体不够分,少了,叫亏。凡是研究盈和亏这一类算法的应用题就叫盈亏问题。
一般解法:
(盈数+亏数)÷两次每份分配之差=份数、
(大盈-小盈)÷两次分配之差=份数、
(大亏--小亏)÷两次分配之差=份数,
再求总数量。每次分的数量*份数+盈=总数量
每次分的数量*份数-亏=总数量。
物品数可由其中一种分法的份数和盈亏数求出。