- 写对并发代码的挑战是什么? 大家遇到过什么典型的坑? 或心得?
- 了解 CAS(CompareAndSwap), Java 对CAS的相关支持, 了解sun.misc.Unsafe
- 讨论: 常见的互斥机制(简单理解为锁) 有哪些? 以及 Java的相关支持.
- 什么是可见性问题? 可见性问题存在的原因?
- 了解内存屏障的概念
- 了解Java内存模型, volatile 关键字
- 了解 ThreadPoolExecutor 的运行机制
- 构造函数各个参数的含义
- ThreadPoolExecutor 提交一个task 的逻辑过程. 上面提到的参数如何影响这个过程.
- 了解 Java7 引入的 ForkJoinPool, 以及其和 Java8 引入 的ParallelStream是怎么协作的.
- 并发与并行
- 讨论: 写对并发代码的挑战
- 原子操作 : 并发场景的基本需求, 也是互斥、同步 实现的前提
- 互斥 : 并发场景的基本需求
- 同步 : 并发实体之间的通讯
- 可见性 : 解决底层并发性能优化带来的副作用
- CAS, CompareAndSwap
- Java 原子操作的支持
- 常见的互斥机制
- Java 互斥机制的相关实现
- Object .wait() .notify()
- Lock.condition
- Future
- 一些Helper类: Semaphore, CountDownLatch 等
- 可见性问题存在的原因
- volatile. 内存屏障. Java 内存模型
- 运行机制剖析
- 使用原则
- ThreadLocal