编程技术分享平台

网站首页 > 技术教程 正文

AbstractQueuedSynchronizer(AQS)架构图

xnh888 2024-10-30 04:42:26 技术教程 47 ℃ 0 评论

AbstractQueuedSynchronizer(AQS)是一个微型框架,这个框架的本质就是实现了锁的功能。在Java里面通过synchronized可以实现锁的功能,但是在早期这种锁的实现比较简单,更多的依靠系统底层来实现的简单并发控制,实现简单意味着应用场景比较狭窄,性能差。后来诞生了AQS,设计的十分精巧,能应用很多的场景。

说到锁,肯定具备两个因素:

1、锁的状态(是上锁还是未上锁状态)

2、排队等锁的线程队列

上图中,state表示锁的状态,还有一个FIFO线程等待队列,多线程争用资源被阻塞时会进入此队列,这就是AbstractQueuedSynchronizer(AQS)架构图,虽然图画的不复杂,但是说明的很清楚。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表