多生产者消费者

同步代码块,对于锁的操作是隐式的。

jdk1.5以后将同步和锁封装成了对象。并将操作锁的隐式方式定义到了该对象中。将隐式动作变成了显示动作。

Lock接口:出现替代了同步代码块或者同步函数。将同步的隐式锁操作变成现实锁操作。同时更为灵活。可以一个锁加上多组监视器。

lock():获取锁

unlock():释放锁 通常需要定义在finally代码块中

Condition接口:出现替代了Object中的wait(),notify(),notifyAll()方法。将这些监视器方法单独进行了封装,变成了Condition监视器对象。可以任意锁进行组合。

await(); signal();signalAll();

推荐阅读更多精彩内容