唐祖庭 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 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示