01、 Java并发编程:序章(多线程,多任务,并发的概念)
02、 Java并发编程:多线程的好处(CPU使用,程序设计,程序响应,资源分配)
03、 Java并发编程:多线程的代价(程序设计,上下文切换,资源消耗)
04、 Java并发编程:并发模型(共享状态,分离状态,并行工作机模型,流水线模型,反应/事件驱动系统,函数式并行)
05、 Java并发编程:类单线程(单线程扩展,无共享状态,负载分配,线程通信)
06、 Java并发编程:并发和并行
07、 Java并发编程:创建并启动java线程(Thread,Runnable,线程名称 ,暂停和停止线程)
08、 Java并发编程:竞态条件和临界区
09、 Java并发编程:线程安全和共享资源(局部变量,局部对象引用,对象成员变量,线程控制逸出规则)
10、 Java并发编程:线程安全和不变性
11、 Java并发编程:Java内存模型(内存模型,硬件内存架构,共享对象的可见性,竞态条件)
12、 Java并发编程:Java同步块(synchronized关键字,四种同步块,数据可见性,指令重排,性能开销,可重入性)
13、 Java并发编程:Java volatile关键字(变量可见性,可见性规则,指令重排序,Happens-Before规则)
14、 Java并发编程:Java ThreadLocal(泛型类型,supplier接口,延后设置,InheritableThreadLocal)
15、 Java并发编程:线程信号传递(忙等待,wait、notify、notifyall,信号丢失,虚假唤醒)
16、 Java并发编程:死锁(DeadLock,线程死锁,数据库死锁)
17、 Java并发编程:防范死锁(锁排序,锁超时,死锁检测)
18、 Java并发编程:饥饿与公平性(线程饥饿,锁,公平锁)
19、 Java并发编程:嵌套管程锁死
20、 Java并发编程:滑移条件(Slipped Conditions)
21、 Java并发编程:Java中的锁(普通锁,可重入锁,公平锁)
22、 Java并发编程:Java中的读/写锁(可重入锁,完全可重入的ReadWriteLock)
23、 Java并发编程:重入锁死
24、 Java并发编程:信号量(Semaphores,计数信号量,有界信号量,信号量用作锁)
25、 Java并发编程:阻塞队列
26、 Java并发编程:线程池(Thread Pool)
27、 Java并发编程:比较交换(CAS)
28、 Java并发编程:同步器的结构
29、 Java并发编程:非阻塞算法(非阻塞并发数据结构、比较交换、乐观锁、共享意向修改、ABA问题、非阻塞算法模板)
30、 Java并发编程:终章:阿姆达尔定律(Amdahl‘s Law)