6种:
12.2.1 新建线程
new Thread(r), 在线程运行之前还有一些基础工作要做.
12.2.2 可运行线程
调用 start() 后, 线程处于可运行 (runnable) 状态.
- 可运行线程可能正在运行, 也可能没有运行
抢占式调度系统给每一个可运行线程一个时间片来执行任务.
协作式调度, 一个线程只有在调用 yield 或者被阻塞或等待时才失去控制权.
12.2.3 阻塞和等待线程
阻塞和等待状态的线程, 它是不活动的, 不运行任何代码
- 阻塞和等待没有太大区别
12.2.3 终止线程
线程终止的原因:
- run 正常退出
- 没有捕获 run 中的异常