01.并发理论基础
学习顺序
第一层:理解问题根源
- 02.并发编程的三个核心问题 — 分工、同步、互斥,建立全局视角
- 03.可见性、有序性与原子性问题 — Bug 的三个来源
- 04.Java内存模型JMM — JMM 如何解决可见性与有序性(volatile / happens-before)
第二层:解决互斥与同步
- 05.原子性解决方案-互斥锁 — synchronized 用法与细粒度锁
- 死锁问题与解决方案 — 死锁四条件与三种破坏方式(归档)
- 06.等待-通知机制 — wait/notify,降低空转 CPU
- 07.管程Monitor — MESA 模型,synchronized 底层模型
第三层:线程基础
- 08.Java线程 — 线程生命周期、创建方式、线程数设置
第四层:并发工具类
- 09.并发工具类 — Lock/Condition、Semaphore、ReadWriteLock、StampedLock、CountDownLatch、CyclicBarrier、并发容器、Future/CompletableFuture、Fork/Join
- CAS学习 — 无锁方案底层原理(归档)
- AQS抽象队列同步器原理 — Lock 系列的底层框架(归档)
- 线程池ThreadPoolExecutor — 线程池参数与原理(归档)
- Future模式与Promise模式 — Future/CompletableFuture 深入(归档)
第五层:并发设计模式
- 10.并发设计模式 — Immutability、Copy-on-Write、ThreadLocal、Guarded Suspension
- 11.ThreadLocal — 线程本地存储原理与内存泄漏