AQS是JUC的重中之重
整体就是一个FIFO的链式队列



AQS的stat表示当前资源的状态
AQS的内部维护了一个内部类Node
waitstatus的状态表示

AQS源码分析
细说aqs


非公平锁先尝试CAS抢一下资源,如果抢到了就占用,如果没抢到,就进入队列
tryacquire
尝试获取一下锁,公平锁和非公平锁的区别是,公平锁会检测一下有没有队列,非公平不会
addwaiter
进入到等待队列里面
本文详细解读了AQS在Java并发控制中的核心作用,介绍了stat状态和内部Node结构,探讨了公平锁与非公平锁的tryacquire方法差异,以及addwaiter如何实现进入等待队列。通过35张图帮助读者深入理解AQS的工作原理。
整体就是一个FIFO的链式队列



AQS的stat表示当前资源的状态
AQS的内部维护了一个内部类Node
waitstatus的状态表示

细说aqs


非公平锁先尝试CAS抢一下资源,如果抢到了就占用,如果没抢到,就进入队列
尝试获取一下锁,公平锁和非公平锁的区别是,公平锁会检测一下有没有队列,非公平不会
进入到等待队列里面
1461

被折叠的 条评论
为什么被折叠?