Java并发包之Condition条件(重入锁好搭档)
2017-10-27 本文已影响0人
xinxinlimin
Condition条件与wait、notify方法大体相同,只不过前者与重入锁连用,或者与synchronized连用。
如下:
![](https://img.haomeiwen.com/i4697815/2e236ccf73db9239.png)
![](https://img.haomeiwen.com/i4697815/a9cf4a76587e6002.png)
通过上例,可以完全体现重入锁与Condition的一个组合调用情况。目的是实现线程的挂起与执行。
在JDK内部,被广泛使用,如ArrayBlockingQueue:线程安全队列。
下例是模拟线程安全队列写的:
![](https://img.haomeiwen.com/i4697815/bab68c736dde02f8.png)
![](https://img.haomeiwen.com/i4697815/b7580c3085766652.png)
![](https://img.haomeiwen.com/i4697815/9af559327777d602.png)
![](https://img.haomeiwen.com/i4697815/df7a5b74110a941b.png)
Condition条件与wait、notify方法大体相同,只不过前者与重入锁连用,或者与synchronized连用。
如下:
通过上例,可以完全体现重入锁与Condition的一个组合调用情况。目的是实现线程的挂起与执行。
在JDK内部,被广泛使用,如ArrayBlockingQueue:线程安全队列。
下例是模拟线程安全队列写的: