1. 是什么?
AQS是抽象队列同步器,是JUC包的核心,也是并发编程的核心
2. 哪里使用到AQS
ReentrantLock的底层就是AQS
ReentrantLock lock = new ReentrantLock();
然后可以执行lock的lock()方法
当前锁场景:分为公平锁和非公平锁,默认是非公平
如下:会创建出公平锁
ReentrantLock lock = new ReentrantLock(true);
思想很重要啊!
3. AQS的6个操作?
抢锁
释放锁
出队
阻塞
唤醒
入队
1. 将线程封装成Node插入到队列里面去
2. 队列「AQS队列 普通队列」
——AQS队列,第一个结点是占有锁的结点