AbstractQueuedSynchronizer
JDK中实现并发编程的核心,平时我们工作中经常用到的ReentrantLock,CountDownLatch等都是基于它来实现的。
AbstractQueuedSynchronizer的介绍和原理分析
深入理解AQS(AbstractQueuedSynchronizer)
ReentrantLock
ReentrantLock是JDK层面的同步控制API,Synchoronized是JVM层面提供同步控制的关键字。
面试官:谈谈synchronized与ReentrantLock的区别?
面试官:说一下Synchronized底层实现,锁升级的具体过程?
Java的各种锁的概念
ReentrantReadWriteLock
读写锁ReentrantReadWriteLock,它表示两个锁,一个是读操作相关的锁,称为共享锁;一个是写相关的锁,称为排他锁。
StampedLock
StampedLock是为了优化可重入读写锁性能的一个锁实现工具,jdk8开始引入。
相比于普通的ReentranReadWriteLock主要多了一种乐观读的功能。
在API上增加了stamp的入参和返回值。
不支持重入。