模型服务连接失败
并发JavaJava 并发
分类
Java 并发
难度
未设置
来源数
1
更新时间
2026/03/28 21:25

答案

AQS就是AbstractQueueSynchronizer,是一个抽象队列同步器,它是一个抽象类,主要用来构建锁和同步器,它能够高效的构建出大量的同步器。像ReentrantLock、ReentrantReadWriteLock、同步队列等都是基于AQS的。AQS的核心思想就是,当一个线程访问共享资源时,如果共享资源没有被占用,那么就将该线程设置为有效工作线程,并对资源加锁进行访问。如果访问失败,则需要将线程添加到等待队列当中,AQS利用CLH队列来实现一整套的线程阻塞等待和唤醒时的锁分配机制。然后它利用一个volatile修饰的state变量来表示锁的状态,0则表示未锁定,大于0表示已锁定。

相关题目(5)

Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发

元信息

审核状态: active
关联来源: 1

来源面经题(0)

这道题目前没有手动沉淀的面经题来源。

来源(1)

Java八股(并发).md

knowledge_note
Question 102: 什么是AQS?请介绍一下AQS。 Source answer: AQS就是AbstractQueueSynchronizer,是一个抽象队列同步器,它是一个抽象类,主要用来构建锁和同步器,它能够高效的构建出大量的同步器。像ReentrantLock、ReentrantReadWriteLock、同步队列等都是基于AQS的。AQS的核心思想就是,当一个线程访问共享资源时,如果共享资源没有被占用,那么就将该线程设置为有效工作线程,并对资源加锁进行访问。如果访问失败,则需要将线程添加到等待队列当中,AQS利用CLH队列来实现一整套的线程阻塞等待和唤醒时的锁分配机制。然后它利用一个volatile修饰的state变量来表示锁的状态,0则表示未锁定,大于0表示已锁定。 Reviewed answer: AQS是AbstractQueuedSynchronizer,是用于构建锁和同步器的抽象队列同步器。它通过volatile的state表示同步状态,线程获取资源失败时会被封装为节点加入CLH等待队列,通过阻塞、唤醒和CAS操作完成同步控制。ReentrantLock、ReentrantReadWriteLock等都基于AQS实现。