经典PV操作和尚打水问题
和尚取水问题
寺庙里有许多老和尚和小和尚,一口水井和一个水缸。小和尚负责打水满足老和尚的饮水需求。水缸容积10桶水,水井每次只容一个桶取水,桶总数3个,水缸每次仅容一个桶取、入水。
设水缸初始状态是空的,试设置信号量并利用P、V操作实现和尚间的同步。
信号量定义
v1=1 小和尚从井里提水v2=1 老和尚从缸里取水,小和尚往缸里倒水amount=3 水桶数量full=0 水缸里有几桶水empty=10 水缸里还能放几桶水
PV操作流程
小和尚(){p(empty)p(amount)p(v1)从水井打水v(v1)p(v2)往缸里倒水v(v2)v(amount)v(full)}老和尚(){p(full)p(amount)p(v2)从缸中取水v(v2)v(amount)v(empty)}
PS:学生小白刚开始学,有什么问题希望大家能提出来。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
