AQS总结
Posted yejiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AQS总结相关的知识,希望对你有一定的参考价值。
一、全称
- AbstractQueueSynchronier
二、并发包的使用
ReentrantLock:new ReentrantLock()/lock()/unlock()
ReentranReadWriteLock
可重入锁:对同一个对象可以多次加锁
三、底层
1.抽象同步队列三个核心组件:加锁状态(state)+加锁线程+等待队列
2.初始的时候
state = 0
加锁线程=null
3.加锁的过程
Thread1通过CAS对state进行加锁,先看state是否
等于0==>state++,加锁线程=Thread1
不等于0==>再看看是不是自己加的锁,不是自己加的锁,放入等待队列中;是自己加的锁,state++(这个时候就实现了可重入锁)
四、总结
AQS是JUC的一个基础组件,用来实现各种锁(ReentrantLock,ReentrantReadWriteLock),同步工具(Semaphone,CountDownLatch,CyclicBarrier).
他底层有三个核心组件:state,加锁线程,等待队列
以上是关于AQS总结的主要内容,如果未能解决你的问题,请参考以下文章