桌上有个能呈得下五个水果的空盘子。爸爸不停地向盘中放苹果或桔子,儿子不停地从盘中去除桔子享用,女儿不停地从盘中取出苹果享用。规定三人不能同时从盘中去取放水果。
试用信号量实现爸爸、儿子和女儿这三个循环进程之间的同步。
解析:
本题是生产者消费者问题的变形,相当于一个能生产两种产品的生产者和两个消费者提供产品的同步问题,因此,需要设置两个不同的full信号量apple和orange,初值均为0
解:
信号量定义:
爸爸:
儿子:
女儿:
main
总结:
桌上有个能呈得下五个水果的空盘子。爸爸不停地向盘中放苹果或桔子,儿子不停地从盘中去除桔子享用,女儿不停地从盘中取出苹果享用。规定三人不能同时从盘中去取放水果。
试用信号量实现爸爸、儿子和女儿这三个循环进程之间的同步。
解析:
本题是生产者消费者问题的变形,相当于一个能生产两种产品的生产者和两个消费者提供产品的同步问题,因此,需要设置两个不同的full信号量apple和orange,初值均为0
解:
信号量定义:
爸爸:
儿子:
女儿:
main
总结: