java多线程编程核心技术(四)--Lock的使用

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读写锁:读写锁表示有两个锁,一个是读相关的锁,称为共享锁;一个是写想关的锁,也叫排它锁,多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥。

原文地址:https://www.cnblogs.com/shun-gege/p/7873353.html