Loke是接口啊。只能通过实现类来创建对象。
Lock lock = new ReentrantLock(); //这条语句使用了多态 楼主应该明白吧
而这个ReentrantLock类则是Loke接口的常用实现类
JDK1.5 中提供了多线程升级解决方案。
将同步Synchronized替换成现实Lock操作。
将Object中的wait,notify notifyAll,替换了Condition对象。
该对象可以Lock锁 进行获取。
该示例中,实现了本方只唤醒对方操作。
而关于这个语句
Condition notFull = lock.newCondition();
Condition 实例实质上被绑定到一个锁上。要为特定 Lock 实例获得 Condition 实例,使用其 newCondition() 方法。
Condition类主要作用是替代同步代码块中wait notify notifyAll等方法
这样说能明白么。 |