Java并发复习-JUC多线程

Java线程

创建和运行线程

三种基本方式:

  1. 直接使用 Thread

  2. 使用 Runnable 配合 Thread

  3. FutureTask 配合 Thread

操作系统层面:

image-20211009163040205

Java层面:

image-20211009163109983

NEW 线程刚被创建,但是还没有调用 start() 方法
RUNNABLE 当调用了 start() 方法之后,注意,Java API 层面的 RUNNABLE 状态涵盖了 操作系统 层面的
【可运行状态】、【运行状态】和【阻塞状态】(由于 BIO 导致的线程阻塞,在 Java 里无法区分,仍然认为
是可运行)
BLOCKED , WAITING , TIMED_WAITING 都是 Java API 层面对【阻塞状态】的细分,后面会在状态转换一节
详述
TERMINATED 当线程代码运行结束