同步
接口Lock,替代了原有的synchronized的使用,使用灵活广泛。
Lock实现类ReentrantLock的lock()和unlock()方法进行同步。
通信
使用Lock接口实现类ReentrantLock的newCondition()方法可以获取Condition对象。
需要等待的时候使用Condition的await()方法,唤醒的时候用signal()方法。
不同的线程使用不同的Condition,这样就能区分唤醒的时候找哪个线程了。
新旧方法的对比
接口中Condition Object类
await() wait()
signal() notify()
signalAll() notifyAll()
|
|