6种:

image.png

image.png

12.2.1 新建线程

new Thread(r), 在线程运行之前还有一些基础工作要做.

12.2.2 可运行线程

调用 start() 后, 线程处于可运行 (runnable) 状态.

  • 可运行线程可能正在运行, 也可能没有运行

抢占式调度系统给每一个可运行线程一个时间片来执行任务.

协作式调度, 一个线程只有在调用 yield 或者被阻塞或等待时才失去控制权.

12.2.3 阻塞和等待线程

阻塞和等待状态的线程, 它是不活动的, 不运行任何代码

  • 阻塞和等待没有太大区别

12.2.3 终止线程

线程终止的原因:

  • run 正常退出
  • 没有捕获 run 中的异常