繁体   English   中英

线程状态 - 可运行 - 即使线程正在运行

[英]Thread State - Runnable - even while thread is running

我写了一个小程序来检查我的线程在运行时的状态 -

public class ClassExtendingThread extends Thread{

    public void run() {
        for(int i=0;i < 100;i++)
            System.out.println(Thread.currentThread().getState() + " - run method");
    }
}

但是,输出显示它处于可运行状态。 不应该是跑步吗?

RUNNABLE - 运行方法 RUNNABLE - 运行方法 RUNNABLE - 运行方法

根据文档,以下是可能的状态:

NEW 尚未启动的线程处于此状态。
RUNNABLE 在 Java 虚拟机中执行的线程处于此状态。
BLOCKED 被阻塞等待监视器锁的线程处于这种状态。
WAITING 无限期等待另一个线程执行特定操作的线程处于此状态。
TIMED_WAITING 一个线程正在等待另一个线程执行操作达指定的等待时间时处于此状态。
TERMINATED 已退出的线程处于此状态。

这是正确的,因为 Running 不是多线程中的一种状态,而 runnable 是一种状态,其中线程正在 Java 虚拟机中执行,但它可能正在等待来自操作系统的其他资源,例如处理器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM