多线程专家我爱编程

62.Java-线程通信-使用Lock和Condition接口

2018-06-11  本文已影响15人  若愚同学

线程通信,使用Lock和Condition接口:

wait和notify方法,只能被同步监听锁对象来调用,否则报错,IllegalMonitorStateException.

因为Lock机制根本没有同步锁,也就没有自动获取锁和自动获取锁的概念,所以Lock机制不能 调用wait和notify方法.

解决方案:

Java5中提供了Lock机制同时提供了处理Lock机制的通信控制的Condition接口


从Java5开始,可以:

1:使用Lock机制取代synchronized代码块和synchronized方法

2:使用Condition接口对象的await,signalAll方法取代Object类中的wait,notify,notifyAll方法.

上一篇下一篇

猜你喜欢

热点阅读