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