早教吧作业答案频道 -->数学-->
操作系统:和尚打水问题某寺庙,有小和尚和老和尚若干,有一个水缸,由小和尚提水入缸供老和尚饮用.水缸可以容纳10桶水,水取自同一口井中,由于水井口窄,每次只能容纳一个水桶取水.水桶总
题目详情
操作系统:和尚打水问题
某寺庙,有小和尚和老和尚若干,有一个水缸,由小和尚提水入缸供老和尚饮用.水缸可以容纳10桶水,水取自同一口井中,由于水井口窄,每次只能容纳一个水桶取水.水桶总数为3个.每次入水、取水仅为一桶,且不可同时进行.试给出有关取水、入水的算法描述.
某寺庙,有小和尚和老和尚若干,有一个水缸,由小和尚提水入缸供老和尚饮用.水缸可以容纳10桶水,水取自同一口井中,由于水井口窄,每次只能容纳一个水桶取水.水桶总数为3个.每次入水、取水仅为一桶,且不可同时进行.试给出有关取水、入水的算法描述.
▼优质解答
答案和解析
Var mutex1, mutex2, empty, full, count: semaphore;
mutex1:=1; mutex2:=1;
empty:=10; full:=0; count:=3;
process 小和尚:
begin
repeat
wait(empty);
wait(count);
wait(mutex1);
从井中取水;
signal(mutex1);
wait(mutex2);
送水入水缸;
signal(mutex2);
signal(count);
signal(full);
until false;
end
process 老和尚:
begin
repeat
wait(full);
wait(count);
wait(mutex2);
从缸中取水;
signal(mutex2);
signal(empty);
signal(count);
until false;
end
mutex1:=1; mutex2:=1;
empty:=10; full:=0; count:=3;
process 小和尚:
begin
repeat
wait(empty);
wait(count);
wait(mutex1);
从井中取水;
signal(mutex1);
wait(mutex2);
送水入水缸;
signal(mutex2);
signal(count);
signal(full);
until false;
end
process 老和尚:
begin
repeat
wait(full);
wait(count);
wait(mutex2);
从缸中取水;
signal(mutex2);
signal(empty);
signal(count);
until false;
end
看了 操作系统:和尚打水问题某寺庙...的网友还看了以下:
从前有一座山,山上有一座庙,庙里有一个老和尚和一个小和尚,老和尚在给小和尚讲故事,故事就是从前有一 2020-06-30 …
英语翻译从前有座山,山里有座庙,庙里有个老和尚和一个小和尚,老和尚在给小和尚讲故事,故事是这样的: 2020-06-30 …
山上有三个和尚,甲和尚2天下一次山,乙和尚3天下一次山,丙和尚5天下一次山……山上有三个和尚,甲和 2020-06-30 …
某庙有老和尚,大和尚,小和尚三人.一天寺庙的菜地要浇水,但水缸中一滴水也没有.大和尚与小和尚去挑水 2020-06-30 …
100个馒头分给100个和尚.每个大和尚分3个馒头,每个二和尚分2个馒头,每三个小和尚分一个馒头. 2020-07-06 …
智力题有一百个馒头和一百个和尚,大和尚一人吃三个,小和尚三人吃一个,问有多少个大智力题有一百个馒头 2020-07-06 …
一个大水缸装满水后,水和缸共重345千克,用掉一半之后水和缸共重195千克,那么原来水和缸各重多少 2020-07-18 …
一个大水缸装满水后,水和缸共重345千克,用掉一半水之后水和缸共重195千克,那么原来水和缸各重多 2020-07-18 …
有关和尚吃馒头的问题有100个和尚100个馒头大和尚每人吃4个馒头小和尚4个人吃一个馒头求大和尚小和 2020-12-24 …
气缸受力分析当汽缸刚要离开地面时,汽缸体受到重力Mg、外面大气压力p0S和缸内气体压强的压力p2S作 2021-01-14 …