ReeantLock底层实现:从Java Lock到S.pdfVIP

  • 1
  • 0
  • 约1.73千字
  • 约 2页
  • 2026-07-01 发布于北京
  • 举报

一步一步地来探索一下JavaLockAPI的底层源码以及原理

publicReentrantLock(){

sync=newNonfairSync();}

默的构造函数这里,创建了一个Sync,NonfairSync,看起来是一个非常关键的组件,很

可能是底层专门用于加锁和释放锁的组件

publicvoid

lock(){

sync.lock();}

ReentrantLock在进行加锁的时候,实际上是直接基于底层的Sync来实现的lock操作,但

如果是这样的话,ReentrantLock这个类实际上就是一个比较外层的薄薄的封装类,Sy

nc就是ReentrantLock底层的组件

Sync:关键组件

staticclassSyncextendsQueuedSynchronizer

Sync是一个抽象的静态类,子类AQS:QueuedSynchronizer,这个东西,抽象队

列同步器,是Java并发包中各种并发工具(锁、同步器)的底层基础性组件,的,主

要是依赖于它

AQS里关键的一些东西,一个是Node(自定义数据结构,可以组成一个双向链表,也就是

所谓的队列),sta

文档评论(0)

1亿VIP精品文档

相关文档