文章比较长,信息量比较大,建议在 pc 上阅读。文章标题是为了呼应前文,其实可以单独成文的,主要是希望读者看文章能系统看。
本文关注以下几点内容:
- 深入理解 ReentrantLock 公平锁和非公平锁的区别
- 深入分析 AbstractQueuedSynchronizer 中的 ConditionObject
- 深入理解 Java 线程中断和 InterruptedException 异常
基本上本文把以上几点都说清楚了,我假设读者看过上一篇文章中对 AbstractQueuedSynchronizer 的介绍 ,当然如果你已经熟悉 AQS 中的独占锁了,那也可以直接看这篇。各小节之间基本上没什么关系,大家可以只关注自己感兴趣的部分。
其实这篇文章的信息量很大,初学者估计至少要 1 小时才能看完,希望本文对得起大家的时间。