Advertisement

了解AQS的源码

阅读量:

文章目录

    • AQS介绍
      • 锁的状态
      • 双向链表介绍
  • 实现独占锁的获取

  • ** acquire函数

    • queue执行的 acquire 函数

    • 在失败的 acquire 之后应停下线程

      • 释放独占锁

        • release方法
        • unparkSuccessor方法
      • 独占锁内部状态图解

      • 总结

AQS介绍

The AbstractQueuedSynchronizer is known as AQS and offers a framework for implementing synchronization mechanisms. This framework provides blocking acquire and release locks. Its underlying structure relies on a bidirectional FIFO queue.

在阐述AQS之前,随后对锁进行较为简明的阐述. 根据所涉及的不同维度将锁进行细致分类:

  1. 独占锁/共享锁
  2. 可重入锁/不可重入锁
  3. 公平锁/非公平锁

基于AQS框架, 可以实现上面提及的锁, 而AQS的作用是降低实现的复杂度.

锁的状

全部评论 (0)

还没有任何评论哟~