• 前言
  • 第1章 Java并发简介
  • 01 开篇词:多线程为什么是你必需要掌握的知识
  • 02 绝对不仅仅是为了面试—我们为什么需要学习多线程
  • 03 多线程开发如此简单—Java中如何编写多线程程序
  • 04 人多力量未必大—并发可能会遇到的问题
  • 第2章 Java中如何编写多线程
  • 05 看若兄弟,实如父子—Thread和Runnable详解
  • 06 线程什么时候开始真正执行?—线程的状态详解
  • 07 深入Thread类—线程API精讲
  • 08 集体协作,什么最重要?沟通!—线程的等待和通知
  • 09 使用多线程实现分工、解耦、缓冲—生产者、消费者实战
  • 第3章 并发的问题和原因详解
  • 10 有福同享,有难同当—原子性
  • 11 眼见不实—可见性
  • 12 什么?还有这种操作!—有序性
  • 13 问题的根源—Java内存模型简介
  • 14 僵持不下—死锁详解
  • 第4章 如何解决并发问题
  • 15 原子性轻量级实现—深入理解Atomic与CAS
  • 16 让你眼见为实—volatile详解
  • 17 资源有限,请排队等候—Synchronized使用、原理及缺陷
  • 18 线程作用域内共享变量—深入解析ThreadLocal
  • 第5章 线程池
  • 19 自己动手丰衣足食—简单线程池实现
  • 20 其实不用造轮子—Executor框架详解
  • 第6章 主要并发工具类
  • 21 更高级的锁—深入解析Lock
  • 22 到底哪把锁更适合你?—synchronized与ReentrantLock对比
  • 23 按需上锁—ReadWriteLock详解
  • 24 经典并发容器,多线程面试必备—深入解析ConcurrentHashMap上
  • 25 经典并发容器,多线程面试必备—深入解析ConcurrentHashMap下
  • 26不让我进门,我就在门口一直等!—BlockingQueue和ArrayBlockingQueue
  • 27 倒数计时开始,三、二、一—CountDownLatch详解
  • 28 人齐了,一起行动—CyclicBarrier详解
  • 29 一手交钱,一手交货—Exchanger详解
  • 30 限量供应,不好意思您来晚了—Semaphore详解
  • 第7章 高级并发工具类及并发设计模式
  • 31 凭票取餐—Future模式详解
  • 32 请按到场顺序发言—Completion Service详解
  • 33 分阶段执行你的任务-学习使用Phaser运行多阶段任务
  • 34 谁都不能偷懒-通过 CompletableFuture 组装你的异步计算单元
  • 35拆分你的任务—学习使用Fork/Join框架
  • 36 为多线程们安排一位经理—Master/Slave模式详解
  • 第8章 总结
  • 37 结束语