并发 九月 05, 2019

并发编程之AQS原理剖析

文章字数 4.4k 阅读约需 4 mins.

AQS全称是AbstractQueuedSynchronizer,即抽象同步队列。下面看一下AQS的类图结构:

在AQS中维持了一个volatile修饰的单一共享状态state,来实现同步器同步。其更新采用乐观锁思想的CAS算法。

CLH(Craig, Landin, and Hagersten locks) 同步队列 是一个FIFO双向队列,其内部通过节点head和tail记录队首和队尾元素,队列元素的类型为Node。AQS依赖它来完成同步状态state的管理,当前线程如果获取同步状态失败时,AQS则会将当前线程已经等待状态等信息构造成一个节点(Node)并将其加入到CLH同步队列,同时会...

查看全文
0%