一、背景
Java 在 1.5 版本引入了 java.util.concurrent
包,用以支持并发编程,降低并发编程的复杂性;而其中大部分的同步器(例如 lock
, barriers
等等)都是基于 AbstractQueuedSynchronizer
类,一般我们称为AQS
。 java.util.concurrent.locks.AbstractQueuedSynchronizer
出自 Doug Lea
带佬,他的 个人博客 上有一篇相关论文 《The java.util.concurrent Synchronizer Framework》,在我们深入研究 AQS
之前,有必要拜读一下该论文,翻译见笔者的另一篇博客《The java.util.concurrent Synchronizer Framework》原文翻译 之后结合相关源码实现进行分析。