java多线程-线程状态

JDK中Thread.State提供了6种状态

/**
     * 创建线程对象
     */
    NEW,

    /**
     * start方法后
     */
    RUNNABLE,

    /**
     * 遇到同步锁,无法获取锁对象
     */
    BLOCKED,

    /**
     * wait方法
     */
    WAITING,

    /**
     * sleep方法
     */
    TIMED_WAITING,

    /**
     * 线程代码跑完
     */
    TERMINATED;

其中RUNNABLE状态可分为2个状态

Ready
当线程创建后,其他线程调用start方法,该线程就进入到就绪状态,JVM就会为创建方法调用栈和程序计数器,处于这个状态的线程位于可运行的池中,等待获取CPU的使用权,其他处于阻塞状态解除阻塞之后也会进入就绪状态

Running
处于这个状态的线程占用CPU,执行程序代码,只有处于就绪状态的线程才会有机会转到运行状态


线程状态.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容