文章分页功能可以快速定位到想看的内容哦~

搜索
下载APP
搜索
历史搜索
猜你喜欢

AQS锁的原理

资讯小编
2025-05-15 15:48

aqs原理:是一个用于构建锁和同步器的框架,它能降低构建锁和同步器的工作量,还可以避免处理多个位置上发生的竞争问题,在基于AQS构建的同步器中,只可能在一个时刻发生阻塞,从而降低上下文切换的开销,并提高吞吐量。

通过status标识锁 ReentrantLock使用排他锁。AQS的status0表示加锁,thread是当前获取锁的线程。该锁时可重入锁,所以status0。CountDownLatch 使用共享锁。

它继承了AQS框架的内部类,实现了插销式同步器的具体功能。在Sync类内部,有两个重要的内部类NonfairSync和FairSync,它们分别实现了非公平锁和公平锁的具体实现。

首先尝试获取资源,如果当前状态为0,表示没有线程占有锁,设置该线程为独占模式,使用CAS设置状态,否则如果当前线程和独占线程是一个线程,修改状态值,否则返回false。

当第一次调用await()对线程进行阻塞时,当前线程会首先调用park()进入阻塞,并且加入到条件等待队列中。当某个线程调用此Condition对象的signal时,等待队列中的firstWaiter(第一个阻塞对象)会被加入到AQS锁的CLH队列中。

打开汽车网APP阅读全文
相关车系
为你推荐 换一批
我来说两句
表情
普通表情 羊老湿 2 羊老湿 车评人
相关文章
更多内容推荐

正在加载中...

进入首页,查看更多实时汽车内容
打开app,汽车生活由此精彩
首页 > 最新文章 > 正文

海报生成中...

生成失败

长按图片进行分享