wait、notify、notifyAll
何时使用
- 在多线程环境下,有时候一个线程的执行,依赖于另外一个线程的某种状态的改变,这个时候,我们就可以使用wait与notify或者notifyAll
wait跟sleep的区别
- wait会释放持有的锁,而sleep不会,sleep只是让线程在指定的时间内,不去抢占cpu的资源
notify跟notifyAll的区别
- nofity随机唤醒一个等待的线程
- notifyAll唤醒所有在该对象上等待的线程
代码:
结果:
等待通知经典模型之生产者消费者
库存类:
生产者类:
消费者:
主控类:
源代码地址:https://github.com/woxbwo/is-concurrent
完成!!!