草庐IT

多线程与高并发(五)—— 源码解析 ReentrantLock

一、前言ReentrantLock是基于AQS实现的同步框架,关于AQS的源码在这篇文章已经讲解过,ReentrantLock的主要实现都依赖AQS,因此在阅读本文前应该先了解AQS机制。本文并不关注ReentrantLock如何使用,只叙述其具体实现。二、ReentrantLock的继承体系以及特点AQS是基于模板方法模式设计的,理解该设计模式可以帮助阅读ReentrantLock源码,当然不熟悉该设计模式并不影响下文的阅读。首先我们来看ReentrantLock的类结构,该类实现了Lock接口,该接口定义了一些需要实现的方法,这些方法是提供给应用程序员编写并发程序使用时的API。Reent

多线程与高并发(五)—— 源码解析 ReentrantLock

一、前言ReentrantLock是基于AQS实现的同步框架,关于AQS的源码在这篇文章已经讲解过,ReentrantLock的主要实现都依赖AQS,因此在阅读本文前应该先了解AQS机制。本文并不关注ReentrantLock如何使用,只叙述其具体实现。二、ReentrantLock的继承体系以及特点AQS是基于模板方法模式设计的,理解该设计模式可以帮助阅读ReentrantLock源码,当然不熟悉该设计模式并不影响下文的阅读。首先我们来看ReentrantLock的类结构,该类实现了Lock接口,该接口定义了一些需要实现的方法,这些方法是提供给应用程序员编写并发程序使用时的API。Reent