Java中线程的状态

问题描述 投票:3回答:4

我有一个问题,例如创建线程时线程的状态是什么。并且该选项具有就绪状态和可运行状态。所以我的怀疑是,

  1. 是否有任何状态称为就绪状态?
  2. 如果是,那么线程的可运行状态和就绪状态之间有什么区别吗?
  3. 如果是,那么适当的答案是什么?

谢谢。

java multithreading runnable
4个回答
2
投票

1-不,这是新的

2-新正在等待执行,RUNNABLE正在执行

3-新

谁能比Oracle更好地回答:https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.State.html


2
投票

这是java的线程状态自动机:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9SMzBhbi5qcGcifQ==” alt =“在此处输入图像描述”>


1
投票

实际上是开始执行线程涉及JVM和OS之间的协作。 JVM调用底层操作系统。您提到的类似ready的状态是线程在waiting Threads set中的状态。这意味着线程是准备执行],并且线程调度程序可以调度它。

不要混淆操作系统和Java级别的状态。从Java的角度来看,只有5个状态

1. New
2. Runnable
3. Waiting
4. Timed Waiting
5. Terminated

0
投票

您可以在VM.java中找到答案,有六个状态

© www.soinside.com 2019 - 2024. All rights reserved.