正在进行安全检测...

发布时间:2023-12-18 16:01:06


生产者和消费者问题
回顾问题:
部队上炊事班的师傅们(多个线程)把一个个做好的热乎乎的馒头扔到筐子里,士兵们都从筐子里拿馒头吃。
一个师傅代表一个生产者线程。一个士兵代表一个消费者线程。
我们来用面向对象的思想分析一下。
首先,这里面有多少个类。每个类都可以产生相应的对象。我们以前说过,分析类就是看看这个系统里有多少种真实存在的事物。我们来看看有多少个名词。动词都是类里的方法。
我们有馒头,筐子,炊事班的师傅,士兵,这些都是名词。
所以我们至少有4个类,外加一个我们习惯上的驱动类,就是main方法所在的类。
先来看馒头类。馒头有自己的属性变量id。给每个馒头打个记号,这样能看出哪个馒头被生产出来,哪个馒头被吃了。所以我们需要在它的构造方法里加入这个id。但是它自己没有什么成员方法。
class WoTou{ int id;


WoTou(int id{ this.id=id;
}
public String toString({ return WOTOU:+id; } } 除了馒头类,还有个非常重要的类,中间那个大筐,大筐里装馒头。它的特点是先进去的馒头后出来,不能两次吃同一个馒头,也不能生产同一个馒头。这很像我们数据结构里的栈。
它的成员变量:放入的馒头。
成员方法:
放入馒头的方法-push 读取馒头的方法-pop

正在进行安全检测...

相关推荐