博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统小和尚挑水,老和尚喝水问题
阅读量:3966 次
发布时间:2019-05-24

本文共 653 字,大约阅读时间需要 2 分钟。

某寺庙,有小和尚、老和尚若干。一水桶,有一水缸,由小和尚提水入缸供老和尚饮用。水缸可容10桶水,水取自同一井中。水井径窄,每次只能容一个水桶取水。水桶总数为3。每次入、取缸水仅为一桶,且不可同时进行。试给出有关取水、入水的算法描述。【北京邮电1998】

无论什么问题一定要按照常规去做,所以以一般思维逻辑思考就可以

小和尚肯定是要看缸里面有没有满,如果没有满,就去找水桶,然后就去打水,把水倒到水桶里面,,,,,一般的思维逻辑思考问题就行

1.总体来看要写两个进程,小和尚打水,老和尚要喝水

2.水缸的初值要设为 empty=10 水桶的初值要设为tong=3
3.取水缸/倒水往水缸里面 不能同时进行 所以要设置互斥变量 s1=1
4.水井径窄,每次只能容一个水桶取水 所以要设置互斥变量 s2=1
5.老和尚如何能喝水呢所以要设置full=0来判断水桶里面的水

p小和尚(){

wait(empty);//看水缸里面的水
wait(tong);//打水的桶
wait(s2)
打水
signal(s2);
wait(s1);
往水缸里面倒水
signal(s1)
signal(tong);
signal(full);

}

p老和尚(){       wait(full);       wait(tong);       wait(s1);       取水;       signal(s1);       signal(tong);       signal(empty);         }

转载地址:http://uwyki.baihongyu.com/

你可能感兴趣的文章
Git Merging vs. Rebasing
查看>>
[第9课] 箱线图
查看>>
[第10课] 箱线图2
查看>>
[第11课]统计:集中趋势
查看>>
[第12课] 统计:样本和总体
查看>>
[第13课] 统计:总体方差
查看>>
[第14课] 统计:样本方差
查看>>
[第15课] 统计:标准差
查看>>
[第16课]统计:诸方差公式
查看>>
[第17课] 随机变量介绍
查看>>
[第18课] 概率密度函数
查看>>
Pandas 精萃
查看>>
[第19课] 二项分布1
查看>>
什么是 Pandas?
查看>>
Pandas 如何创建 DataFrame
查看>>
Pandas 查看数据
查看>>
[第20课] 二项分布2
查看>>
感 冒
查看>>
职业瓶颈
查看>>
有些问题不一定要一次完成,有时候可以增加中间步骤
查看>>