AQS 高并发框架源码讲解

从代码层次讲解JUC高并发包及AQS框架中各个子类的实现和设计思想

5.0(个评分)236人学习

中级7课时3小时34分钟2021/07/27更新

资料下载

二维码下载学堂APP缓存视频离线看

上帝视角
粉丝群
    • 畅销套餐
    • 精选套餐
    • 人气套餐
    • 尊享套餐
    • 高薪套餐
Java Web全栈工程师之路【买视频送书】
总价:
685.00
套餐价:
616.50
节省
¥68.50
师傅带徒弟学Java第1篇 Java基础视频课程
644477人学习
¥29.00
师傅带徒弟学Java第2篇 【Java】面向对象视频课程
524864人学习
¥49.00
师傅带徒弟学Java第3篇 【Java】进阶视频课程
415743人学习
¥159.00
更 多 9 门 课 程
Java基础入门项目实战专题【买课送书】
总价:
595.00
套餐价:
518.64
节省
¥76.36
师傅带徒弟学Java第1篇 Java基础视频课程
644477人学习
¥29.00
师傅带徒弟学Java第2篇 【Java】面向对象视频课程
524864人学习
¥49.00
师傅带徒弟学Java第3篇 【Java】进阶视频课程
415743人学习
¥159.00
更 多 5 门 课 程
Java软件开发全套课程(笔记+项目案例)
总价:
1122.00
套餐价:
561.00
节省
¥561.00
跟汤老师学Java(第2季):变量和数据类型
4952人学习
¥19.00
跟汤老师学Java(第3季):运算符
5618人学习
¥29.00
跟汤老师学Java(第1季):初识Java
10361人学习
¥9.00
更 多 42 门 课 程
鸟哥门徒课程专题(Java全套+Web前端全套+数据库全套)
总价:
4677.00
套餐价:
3741.60
节省
¥935.40
全套精讲C语言基础视频课程【答疑+课件下载】
4209人学习
¥78.00
PS快速入门视频教程
3578人学习
¥39.00
程序标准化[Java/MySQL/PHP/Python/Go]
236人学习
¥9.00
更 多 59 门 课 程
dubbo+Springboot+springcloud教程
总价:
120.00
套餐价:
102.00
节省
¥18.00
全新版本Spring Boot 2.x全套视频教程 基础进阶实战 SpringBoot教程
768156人学习
¥38.00
新SpringCloud视频教程 分布式架构教程SpringCloud+Docker
197628人学习
¥36.00
20新Zookeeper、Dubbo视频教程 微服务教程分布式教程 SpringBoot整合
17011人学习
¥46.00
更 多 3 门 课 程
学分AIGC超值好课低价囤 低至2元Java
  • 课程介绍
  • 课程大纲试看

适合人群:

具有JAVA和并发编程基础的同学

你将会学到:

从代码层次讲解JUC高并发包及AQS框架中各个子类的实现和设计思想

课程简介:

什么是AQS
   一套JAVA并发的库,位于java.util.concurent包下。
     AQS=abstractqueuedsynchronizer 翻译就是 抽象排队的同步器, 抽象是因为该类是所有该系列锁的实质实现和基础,基于抽象模板设计模式
     父类实现基础操作,子类利用该组基础API实现各种丰富的锁

具体AQS锁包括哪些
    主要包括:ReentrantLock,CyclicBa nbrrier,CountDownLatch 等,都是通过代理基于继承AQS类的子类实现。

AQS 如何实现,为什么需要AQS

    AQS是用于高并发场景,普通并发使用CAS方式就可以实现,单纯采用CAS方式的锁叫做自旋锁,自旋锁其实就是死循环,多个线程在一段死循环中尝试获取锁,
    随着并发量升高,线程个数增加,如果仍然都在死循环中竞争锁会导致CPU的浪费,常规的解决办法就是增加队列,让线程排队通过临界区,将排队的线程暂停

AQS提供两个队列  运行队列和条件队列
  运行队列是基本队列,条件队列比较灵活用于实现更加复杂的锁应用,如CyclicBarrier,CountDownLatch 等,主要用于控制基于条件变化触发线程在两个队列之间的转移。其中条件队列一般只用于存放等待信号的线程,不会被执行,事件触发后才将该队列中的节点转移到运行队列中进行执行。


ReentrantLock 包括公平锁和非公平锁两种模式,差别就在于新的到达临界区的线程第一次获取锁的时候能否不排队进行一次锁竞争,公平锁是绝对的FIFO,非公平锁的区别仅仅是第一次获取锁时候可以跳过排队环节进行一次锁获取,如果获取成功则执行临界代码,否则获取锁失败后和公平锁剩余的逻辑完全一样


ThreadLocal 类其实是个工具类,该类的对象可以通过捕获当前线程,并在线程的

nullnull


两个预留位置上放置HASHMAP 来存取或者更新一个对象,来实现将信息放置在线程对象的内部。

该类和线程是多对多的关系,多个该类的对象可以操作同一个线程的HASHMAP,每个对象也可以操作多个线程的HASHMAP,该HASHMAP通过线性探测法实现,具体信息详见第二章第1节



展开更多

课程大纲-AQS 高并发框架源码讲解

资料下载

¥3.00

立即购买
关注公众号 领VIP会员
下次再说

点击打包下载,即可获取该课程全部资料

迎新春满300减35 满400减50
是否单独购买该课程?
直接购买去凑单
在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部