AQS(AbstractQueuedSynchronizer)是 Java 并发框架中一个用于构建锁和同步器的基础框架。 它主要用于实现像 ReentrantLock
、Semaphore
、CountDownLatch
这些同步工具。
AQS 通过维护一个共享的同步状态(state)和一个FIFO 等待队列,管理多个线程对资源的竞争。它支持两种模式:独占模式(exclusive)和共享模式(shared)。
ReentrantLock
,一个线程持有锁,其他线程必须等待。Semaphore
,允许多个线程同时获取资源。AQS 的核心工作原理是:
AQS 通过模板方法模式工作,具体的同步器(如 ReentrantLock
)需要实现 tryAcquire()
和 tryRelease()
等方法来定义如何获取和释放锁。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务