-
线程基础
- 线程基本概念
-
线程、进程区别及联系
- 调度
- 地址空间
- 通信方式
-
创建线程的方式
- 继承Thread
- 实现Runnable
-
状态
-
线程调度状态
- 新建
- 就绪
- 运行
- 阻塞
- 死亡
-
线程自身状态
- NEW
- RUNNABLE
-
BLOCKED
- monitor lock
-
WAITING
- Object.wait
- Thread.join
- LockSupport.part
-
TIMED_WAITING
- Thread.sleep
- Object.wait(timeout)
- Thread.join(timeout)
- LockSupport.parkNano
- LockSupport.parkUtil
- TERMINATED
-
线程类介绍
-
Thread
- run
- start
- join
- sleep
- yield
- isInterrupted
- interrupt
- interrupted
- setDeamon
- setPriority
- ...
- Timer、TimerTask
- Runnable
- ThreadGroup
-
线程安全
- 概念
- 线程的可见性及互斥性
-
synchronized
-
特征
- 可见性
- 互斥性
- 使用条件
- 场景
-
volatile
-
特征
- 可见性
- 使用条件
- 场景
-
ThreadLocal
- 使用场景
- 反例:错误使用造成的Memory Leak
-
线程间协调
-
方法
- wait
- notify
- notifyAll
-
条件阻塞
- 锁
- 条件
- 等待队列
-
不容易理解的方法
- interrupt
- interrupted
- schedule:fixed-delay
- scheduleAtFixedRate:fixed-rate,需要synchronized
- 线程与安全
- 参考资料