多线程高并发思维导图
下面给大家分享出这份由马士兵大佬编写的《多线程高并发》最新版笔记详解!(+配套视频)
第一节:线程的基本概念
多线程与高并发大概讲六大块:
- 第一:基本的概念
- 第二:jUC同步工具
- 第三:同步容器
- 第四:线程池
- 第五:高频面试加分项
- 第六: Disruptor
我们先说一下为什么要讲多线程和高并发?
原因是,你想拿到一个更高的薪水,在面试的时候呈现出了两个方向的现象:
第一个是上天
- 项目经验
- 高并发 缓存 大流量 大数据量的架构设计
第二个是入地
- 各种基础算法,各种基础的数据结构
- JVM OS 线程 IO等内容
多线程和高并发,就是入地里面的内容。
第二节: volatile与CAS
- 1 :保证线程的可见性
- 2 :禁止指令重新排序
CAS
第三节: Atomi类和线程同步新机制
- 间歇性复习
第四节: LockSupport、 淘宝面试题与源码阅读方法论
淘宝面试题
- 面试题一
- 面试题2
阅读源码的原则
第五节: AQS源码阅读与强软弱虚4种引用以
通过ReentrantLock来解读AQS源码
为什么是双向链表?
- ThreadLocal源码
- 及ThreadLoca1原理与源码
- 为什么要用ThreadLocal ?
- java的四种引用:强软弱虚人
- 强引用
- 软引用
第六节:并发容器
容器
第七节:线程池
我怎么定义这一个线程池,这里面的七个参数,
- ●第一个参数corePoolSoze核心线程数,
- ●第二个叫maximumPoolSize最大线程数,
- ●第三个keepAliveTime生存时间
- ●第四个TimeUnit.SECONDS生存时间的单位到底是毫秒纳秒还是秒自 已去定义;
- ●第五个是任务队列,就是我们上节课讲的BlockingQueue ,
- ●第六个是线程工厂
- ●第七个叫拒绝策略,
第八节:线程池与源码阅读
- 线程池worker任务单元
- 核心线程执行逻辑runw orker