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总结的主要内容,如果未能解决你的问题,请参考以下文章

AQS 原理以及 AQS 同步组件总结

AQS总结

原来 AQS实现原理还能如此总结

AQS组件总结

多线程总结 --- AQS

AQS总结