AQS深入研究

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

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

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

相关推荐

故事和酒66:假设一下,就算报了培训班,不还是要投简历,只是项目改了。那不如先写几个培训班的项目,纯靠编,然后试试有没有面试。如果真有再报也不迟,如果没有还是没有,那就不是培训班的问题了。
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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