Java多线程Lock
JDK5以后为代码的同步提供了更加灵活的Lock+Condition模式,并且一个Lock可以绑定多个 Condition对象 1.把原来的使用synchronized修饰或者封装的代码块用lock.lock()与lock.unlock()进行手动的锁获取与释放 //原来的同步方式 synchronized (obj) { ... } //JDK5.0新增的同步方式 //lock.unlock();建议最好要放在finally 执行 try { lock.lock(); ... } finally { lock.unlock(); } 2.把原来线程之间的通讯方式由锁对线obj.wait()和obj.notify()改成了Condition对象的con.await()与con.signal()方法 如下用Lock的方式重写多生产者多消费者模式时, 线程可以指定唤醒生产者或者消费者,这样拥有更高的效率与安全性 package jdk5lockDome; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; /** * @author wpy * */ public