专栏文章
- 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)