并发编程
线程(基础概念) |
---|
并发 顺序 并行 串行 区别 |
为什么要使用多线程? |
什么是上下文切换? |
线程的创建方式 |
线程的生命周期及线程状态 |
线程的基本方法 |
Thread Safety |
ThreadLocal 介绍 |
多线程基础 | |||
---|---|---|---|
CPU Cache模型 | |||
Java内存模型(Java Memory Mode,JMM) | happens-before规则 | as-if-serial语义 | happens-before 和 as-if-serial |
什么是指令重排? | 数据依赖性 | ||
控制依赖关系 | |||
什么是可见性问题? | 顺序一致性模型 | ||
volatile | 什么是共享资源? && 数据同步 && 资源同步 | ||
锁的内存语义 | synchronized | synchronized关键字的缺陷 | |
volatile和synchronized比较 | |||
类锁 对象锁 私有锁 | |||
java中的锁–待完善 | |||
final域的内存语义 | |||
并发编程 原子性 可见性 有序性 | |||
数据不一致问题 | |||
死锁 | |||
生产者消费者模型 |
线程间通信 | |
---|---|
同步阻塞与异步非阻塞 | |
单线程间通信 多线程间通信 | 线程休息室wait set |
synchronized关键字的缺陷 | |
自定义显式锁BooleanLock |
线程池 | |
---|---|
Java中的线程池 | Java中的阻塞队列 |
线程池任务队列 | |
线程池饱和策略 |
Executor框架 | Executor框架的两级调度模型 |
---|---|
Executor框架的结构 | |
Executor框架的使用 | |
Executor框架的成员 | |
FutureTask简介 |