1、jdk1.5中新增了ReentrantLock类,该类也可以实现synchronized线程之间同步互斥的效果。
2、jdk1.5中新增了Condition类。在Lock对象中可以创建多个Condition对象(即synchronized代码块的锁对象)。
3、lock()方法:获取锁
4、unlock():释放锁
5、await():线程进入wait状态
6、signal():唤起wait线程
7、signalAll():唤起所有wait线程
8、公平锁:表示线程获取锁的顺序是按照线程加锁的顺序来分配的(即先strat的线程先获取锁)。
9、非公平锁:获取锁的机制是抢占式的,是随机的。
10、ReentrantReadWriteLock读写锁:读写锁表示有两个锁,一个是读相关的锁,称为共享锁;一个是写想关的锁,也叫排它锁,多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥。