关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

AQS

发布时间:2023-06-26 14:00:16

AQS解析

  • AQS是什么?
    • AbstractQueuedSynchronizer(抽象队列同步器)
    • 通过模板方法为子类提供了多种自定义的FIFO队列实现
    • AQS通过volatile int state以及CLH队列实现同步;
    • CLH队列的head的状态对后继节点的影响很大
    • AQS实现如下(图片CV的):
    • 只有队头才能获取锁
  • AQS结构图如下:
  • 由以上结构图可以看到
    • AQS作为基类提供模板方法为Lock、ThreadPool、Semaphore实现队列提供了队列的自定义实现
  • AQS的方法
    • tryAcquire(int arg)排它模式,尝试获取锁
    • tryRelease(int arg)排它模式,尝试释放锁
    • 等......

/template/Home/leiyu/PC/Static