浅谈ReentrantLock的设计

31 阅读1分钟

1.ReentrantLock是在多线程竞争资源时使用的锁,他是一个独占锁,可重入锁,也是悲观锁。

2.ReentrantLock支持公平锁,对公平和非公平锁有不同的实现逻辑。

3。ReentrantLock使用aqs(AbstractQueuedSynchronizer)来实现的锁。

4.内部使用了原子操作类cas比较线程与对应的锁关系。

5.内部支持newCondition来灵活的控制获取到锁的线程的阻塞与释放。