Java并发包之AbstractQueuedSynchronizer源码分析
AQS(AbstractQueuedSynchronizer)是JUC里非常重要的类,像可重入锁ReentrantLock和CountDownLatch等底层都是有AQS来实现的。由于AQS底层结构比较复杂,如果直接讲源码的话大家可能看的一头雾水,这篇文章就从ReentrantLock的加锁和解锁入手,来一步步解析AQS的源码和底层工作原理。
首先说一下AQS的基本结构,其中维护了一个双向链表,链表中每个节点都包含一个线程,其结构示意图如下:
AQS结构示意图
链表中的节点Node有如下几个重要
原创
2022-03-24 15:23:04 ·
284 阅读 ·
0 评论