package com.inmind.wait_notify08; public class BaoZiPu implements Runnable{ BaoZi baoZi; //构造方法来对baozi属性赋值 public BaoZiPu(BaoZi baoZi) { this.baoZi = baoZi; } @Override public void run() { //如果有包子就等着,如果没有包子就做一个包子 while (true) { //使用同步代码块解决线程安全问题 synchronized (baoZi){ if (baoZi.flag) { //如果有包子就等着 try { baoZi.wait();//让当前线程等待,释放锁对象 } catch (InterruptedException e) { e.printStackTrace(); } }else { //如果没有包子就做一个包子 System.out.println("包子铺做了一个包子"); baoZi.flag = true; baoZi.notify();//唤醒顾客线程,通知包子做好了 } } } } }