ReentrantLock类在扩展功能上更加强大,比如嗅探锁定,多路分支通知。而且在使用上也比synchronized更加灵活
调用ReentrantLock对象的lock()方法获取锁,调用unlock()方法释放 锁。
使用ReentrantLock对象可以唤醒指定种类的线程,这是控制部分线程行为方式的便捷方式。
非公平锁
方法 int getHoldCount()的作用是查询当前线程保持锁定的个数,也就是调用lock()方法的次数
方法int getQueueLength()的作用是返回正等待获取此锁的线程估计数
方法int getWaitQueueLength(Condition condition)的作用是返回等待与此锁相关的给定条件Condition线程估计数
等待一定的时间后自动唤醒
原文:http://www.cnblogs.com/duan2/p/7747287.html