AQS深入研究

JUC中很多锁和并发工具类的实现都依赖于AQS。
AQS方法很多,主要做了三件事情:
1. 管理同步状态。
2. 维护同步队列。
3. 阻塞和唤醒线程。

从行为上区分就是获取和释放锁。
从模式上区分是独占锁和共享锁。

实现原理:
AQS内部维护了一个FIFO队列来管理锁。一个线程首先去尝试获取锁,如果失败时,将线程和等待状态等信息打包成Node节点,加入到同步队列中阻塞起来。当持有锁的线程释放锁时,就会唤醒队列中的后继线程。
全部评论

相关推荐

04-29 18:07
常州大学 Java
寂静羽翼:兄弟我已经亲身经历了,双非没实习很多大厂还是会给笔试的,可是有的公司笔试做的好也不给面一直卡着,ssob基本看我没实习都拒绝我了,但是每天投满偶尔也能有一两场初创公司的面试,但是薪资基本在五六千
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务