Condition
1. 使用Condition实现等待通知机制
1 | public class ConTest { |
运行结果
我在等一个新信号Thread-1
我拿到锁Thread-0
我发出了一个信号:Thread-0
拿到一个信号Thread-1
2. 使用Condition实现生产者、消费者模型
1 | public class ConTest2 { |
运行结果
向队列取中插入一个元素,队列剩余空间:9
向队列取中插入一个元素,队列剩余空间:8
向队列取中插入一个元素,队列剩余空间:7
向队列取中插入一个元素,队列剩余空间:6
向队列取中插入一个元素,队列剩余空间:5
向队列取中插入一个元素,队列剩余空间:4
向队列取中插入一个元素,队列剩余空间:3
向队列取中插入一个元素,队列剩余空间:2
向队列取中插入一个元素,队列剩余空间:1
向队列取中插入一个元素,队列剩余空间:0
队列满,等待有空余空间
队列满,等待有空余空间
从队列取走一个元素,队列剩余9个元素
从队列取走一个元素,队列剩余8个元素
从队列取走一个元素,队列剩余7个元素
从队列取走一个元素,队列剩余6个元素
从队列取走一个元素,队列剩余5个元素
从队列取走一个元素,队列剩余4个元素
从队列取走一个元素,队列剩余3个元素
从队列取走一个元素,队列剩余2个元素
从队列取走一个元素,队列剩余1个元素
从队列取走一个元素,队列剩余0个元素
队列空,等待数据
队列空,等待数据
向队列取中插入一个元素,队列剩余空间:9
从队列取走一个元素,队列剩余0个元素