AQS

AQS全称AbstractQueueSynchronized,抽象同步队列器。

public abstract class AbstractQueuedSynchronizer extends AbstractOwnableSynchronizer implements java.io.Serializable {}

   AQS 就是一个抽象类,主要用来构建锁和同步器。比如ReentrantLockSemaphoreReentrantReadWriteLockSynchronousQueue等等。

 

AQS原理:

  AQS 核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制 AQS 是基于 CLH 锁 (Craig, Landin, and Hagersten locks) 实现的。

posted @ 2023-04-21 16:58  壹索007  阅读(33)  评论(0编辑  收藏  举报