买卖包子案例——等待唤醒机制
Posted wmqiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了买卖包子案例——等待唤醒机制相关的知识,希望对你有一定的参考价值。
其中,多个线程必须使用的是同一个锁对象;
等待 wait 和唤醒 notify 的也就是这个对象监视器及锁对象的正在等待的单个线程,若多个,谁等的时间长唤醒谁;
代码实现:
从顾客消费者来买包子开始:
使用的是线程类Thread类的匿名内部类的匿名对象方式创建线程;
同步代码块的方式实现线程同步即解决线程安全问题;
此时,消费者线程类从waiting状态被唤醒,
添加下消费者顾客被唤醒后的操作:
整个程序运行结果:
整个代码写在主线程即main线程(main方法中),当然可以运行;
添加while( true ) 之后,无限循环:
以上是关于买卖包子案例——等待唤醒机制的主要内容,如果未能解决你的问题,请参考以下文章
阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_8_等待唤醒机制代码实现_包子类&包子铺类