wait和notify方法,只能被同步监听锁对象来调用,否则报错。
那么问题来了,Lock机制根本就没有同步锁了,也就没有自动获取锁和自动释放锁的概念。
因为没有同步锁,所以Lock机制不能调用wait和notify方法。
解决方案:java5中提供了Lovk机智的同时提供了处理Lock机制的通信控制的Condition接口。
从java5开始,可以:
1.使用Lock机制取代synchronized代码块和synchronized方法。
2.使用Condition接口对象的await,signal取代Object类中的wait,notify,notifyAll()方法。
Condition cond = lock.newCondition();