6.2 并发安全前世今生
目录介绍
- 01.并发编程核心问题
- 1.1 核心的理论
- 1.2 理解分工
- 1.3 理解同步
- 1.4 理解互斥
- 02.并发编程bug源头
- 2.1 并发编程难
- 2.2 并发幕后故事
- 2.3 缓存导致可见性问题
- 2.4 线程切换导致原子性问题
- 2.5 编译优化导致有序性问题
- 2.6 并发编程三要素
- 03.并发bug解决方案
- 3.1 并发编程切入点
- 3.2 解决可见性问题
- 3.3 解决原子性问题
- 3.4 解决有序性问题
- 3.5 理解Happens-Before
- 04.并发方案如何选择
- 4.1 以场景纬度选择
- 4.2 以用途纬度选择
01.并发编程核心问题
1.1 核心的理论
- 并发编程可以总结为三个核心问题:分工、同步、互斥。
- 所谓分工指的是如何高效地拆解任务并分配给线程,而同步指的是线程之间如何协作,互斥则是保证同一时刻只允许一个线程访问共享资源。
- Java SDK 并发包很大部分内容都