Java线程 — 线程的通信 — 使用Lock和Condition接口

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();

posted @ 2017-03-12 10:34  wenxudong  阅读(176)  评论(0编辑  收藏  举报