【JavaEE】Java多线程状态-- 多线程篇(10)

Java 多线程状态

  • 1. 线程一共有几个状态?
  • 2. 每种状态表示的含义 & 状态之间的切换条件

1. 线程一共有几个状态?

  • 在 Java 中, 线程的状态主要有新建, 就绪, 运行, 阻塞, 等待和超时等待;

2. 每种状态表示的含义 & 状态之间的切换条件

  • 首先处于新建状态, 当线程调用 start() 方法后, 线程会进入就绪状态, 等待 CPU 分配资源运行。
  • 当 CPU 分配资源给线程后,线程会进入运行状态。
  • 如果线程在运行过程因为某些原因阻塞,比如等待 I/O 操作完成, 它会将进入阻塞状态. 阻塞的线程会等待直到 i/o 操作完成, 或者被其他线程唤醒;
  • 当线程调用了 wait() 方法, 它会将进入等待状态, 等待其他线程发送信号唤醒它;
  • 如果线程运行超时, 它将进入超时等待状态;
  • 例如,一个阻塞的线程在等待I/O操作完成之后,会从阻塞状态转换为可运行状态。

你可能感兴趣的:(#,Java,java,开发语言,jvm)