我有一个问题,例如创建线程时线程的状态是什么。并且该选项具有就绪状态和可运行状态。所以我的怀疑是,
谢谢。
1-不,这是新的
2-新正在等待执行,RUNNABLE正在执行
3-新
谁能比Oracle更好地回答:https://docs.oracle.com/javase/7/docs/api/java/lang/Thread.State.html
这是java的线程状态自动机:
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9SMzBhbi5qcGcifQ==” alt =“在此处输入图像描述”>
实际上是开始和执行线程涉及JVM和OS之间的协作。 JVM调用底层操作系统。您提到的类似ready的状态是线程在waiting Threads set中的状态。这意味着线程是准备执行],并且线程调度程序可以调度它。
不要混淆操作系统和Java级别的状态。从Java的角度来看,只有5个状态
1. New
2. Runnable
3. Waiting
4. Timed Waiting
5. Terminated
您可以在VM.java中找到答案,有六个状态