深入理解AbstractQueuedSynchronizer(AQS)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dainandainan1/article/details/87182391

https://www.jianshu.com/p/cc308d82cc71

这篇文章写的非常详细:

上图为AQS队列的示意图,从中可以反应出几个AQS的特点:

1.AQS所有节点都在等待中,并且在自璇状态。节点的获取策略是FIFO

2.AQS是一个双向链表,有两个指针,分别指向头节点和尾部节点

上图代表的是AQS队列的获取到锁的过程,其特点是:

1.首先获取的是头部节点,就是将头节点指针只向下一个节点然后激活线性执行。

独占锁获取的过程:

图非常经典,基本是整个过程。

超时情况获取去锁:

该图中少了锁获取的分支,但是反应了根据时间判断情况的下如何获取锁的过程。

其详细信息上文链接中。。。。。

 

展开阅读全文

没有更多推荐了,返回首页