在一个KFC内,服务员负责生产食物,消费者负责消费食物;
当生产到一定数量可以休息一下,直到消费完食物,再马上生产,一直循环;
下面是我的分析过程.......
(一)程序涉及到的内容:
1.这设计到java模式思想:生产者消费者模式
2.要保证操作对象的统一性,即消费者和服务者都是跟同一个KFC发生关系的,KFC只能new一次
3.this.notifyAll();和 this.wait();一个是唤醒所有的意思,一个是让自己等待的意思;
比如本题中,生产者生产完毕后,先所有唤醒(包括消费者和生产者),再让所有自己(生产者)等待
这时,消费者开始消费,直到食材不够,先所有唤醒(包括消费者和生产者),再让所有自己(消费者)等待
一直执行上面的操作的循环
4.生产者和消费者都要继承Thread,才能实现多线程的启动
(二)程序设计的步骤思路:
1.创建一个食物类Food,有存放/获取食物的名称的方法
2.创建一个KFC类,有生产食物和消费食物的方法
3.创建一个客户类Customer,继承Thread,重写run方法,在run方法里面进行消费食物操作
4.创建一个服务员类Waiter,继承Thread,重写run方法,在run方法里面进行生产食物的操作
5.创建主方法的调用类
接下来,上代码......
消费者生产者模式
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...