AQS(AbstractQueuedSynchronizer)的源码中,公平锁和非公平锁分别是如何实现的?
考察说明
考察对AQS同步队列、加锁与唤醒流程的理解,以及公平与非公平策略的本质区别
回答思路
- 能说明公平锁严格按队列顺序获取锁,非公平锁允许抢占
- 能解释tryAcquire中hasQueuedPredecessors的调用差异
- 能结合ReentrantLock的NonfairSync和FairSync说明实现
- 能分析非公平锁的性能优势和潜在饥饿风险
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。