错误记录一:线程通信时抛出Exception in thread “Thread-0” java.lang.IllegalMonitorStateException异常
完整异常:
Exception in thread “Thread-0” java.lang.IllegalMonitorStateException
at java.lang.Object.notify(Native Method)
at com.liang.Test3.Restaurant.run(Restaurant.java:64)
异常代码
//设置线程任务:生产包子
@Override
public void run() {
//定义一个变量
int count = 0;
while(true){
//保证线程任务只有一个在执行
synchronized (bread){
//对包子状态进行判断
if(bread.flag == true){
//包子铺调用wait方法进入等待状态
try {
bread.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//被唤醒后执行,包子铺生产包子
//交替生产两种包子
if(count %2 == 0){