JUC AQS ReentrantLock源码分析
为了了解java并发包下的 ReentrantLock 可重入锁 和 AbstractQueuedSynchronizer 抽象队列同步器,我自己创建了这两个类,改一下类名,把他们的代码贴过来,再删除英文注释,一步步的分析,再贴上自己的中文理解。然后我发现 BacAQS只有940行,BacReentrantLock 只有230行,然后攻克她。Bac 是我起的英文名,高大上的寓意是 大数据BigData ,Ai人工智能,CloudComputing云计算。读音:巴西。不是喜欢足球,是自己胖得像球。。。 直接上代码,后续会慢慢解读,补充中文注释。你也可以按这个方法,一起学习哦。可重入锁: package www.itbac.com; import java.util.Collection; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; //可重入锁 public class BacReentrantLock implements Lock, java.io.Serializable { private static final long serialVersionUID =