Lock: Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作
代码 Lock l=new ReentrantLock()
在需要加锁的地方l.lock() 需要解锁的地方l.unlock()
Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,
以便通过将这些对象与任意 Lock 实现组合使用
Condition中 await signal signalAll
代码Condition c1=l.newCondition();
Condition c2=l.newCondition();
。。。。。。。。。。。。。。
c1.await();//通过c1监视器来让该线程等待
c1.signal();//唤醒该线程
c2.await();//通过c2监视器来让该线程等待
c2.signal();//唤醒该线程
操作起来十分灵活
|