唐祖庭 2021-10-27 17:39 采纳率: 95.9%
浏览 31
已结题

java 解释一下这个怎么改才能出现正常点?

img


求帮助 解释一下这个怎么才能改 怎么优化? 求java代码。请问下这个java代码怎么写!thanks

  • 写回答

7条回答 默认 最新

  • m0_61487176 2021-10-28 11:24
    关注
    
    
    public class asd {
        class Food {
            String name;
            int price;
    
            public Food(String name, int price) {
                this.name = name;
                this.price = price;
            }
    
            @Override
            public String toString() {
                return "Food{" + "name=" + name + "\"" + ", price=" + price + "}";
            }
        }
    
        // 定义成员变量
        Food food;
    
        // 定义2个同步方法
        // 生产包子的方法 只有生产者执行
        public synchronized void setFood(Food newFood) {
            // 判断蒸笼的状态
            if (food == null) {
                //如果蒸笼为空 说明没有包子
                //生产包子
                food = newFood;
                System.out.println(Thread.currentThread().getName() + "生产了" + food);
                // 通知消费者来吃 notify
                //this.notify();
                this.notifyAll();
            } else {
                //如果蒸笼非空 说明有包子
                //阻止自己放包子  wait
                try {
                    this.wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
        // 定义吃包子的方法 只有消费者执行
        public synchronized void eatFood(){
            // 判断蒸笼状态
            if (food == null) {
                //如果蒸笼为空 说明没有包子
                //阻止自己吃 wait
                try {
                    this.wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            } else {
                //如果蒸笼非空 说明有包子
                System.out.println(Thread.currentThread().getName() + "吃了" + food);
                //吃包子
                food=null;
                //通知生产者再生产 notify
                //this.notify
                this.notifyAll();//挑选全部
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

问题事件

  • 系统已结题 11月5日
  • 已采纳回答 10月28日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题