KANG's BLOG

Let's have some fun

AQS原理浅述

1. 简介 AQS全名:AbstractQueuedSynchronizer,是并发容器J.U.C(java.util.concurrent)下locks包内的一个类。它实现了一个FIFO(FirstIn、FisrtOut先进先出)的队列。底层实现的数据结构是一个双向链表。 AQS核心思想是:如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态 AQS主要支持两个抽象能力: 共享:多个线程可以同时执行 独占:同一时刻只有一个线程可以执行 2. 概念 State:资源 内部提供了一个声明一个变量state,指代“资源”