栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

线程状态的观察方式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

线程状态的观察方式

Thread的六中状态

Thread类下有一个枚举enum类型的变量State,共有六个值

 public enum State {
        
        NEW,

        RUNNABLE,

       
        BLOCKED,

       
        WAITING,

       
        TIMED_WAITING,

        
        TERMINATED;
    }

NEW对应创建状态。
RUNNABLE对应就绪状态
BLOCKED,WAITING,TIMED_WAITING对应阻塞状态
TERMINATED对应结束状态

JavaDemo观察线程状态
package com.design;

public class SeeState implements Runnable{
    @Override
    public void run() {

            try {
                Thread.sleep(1);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

    }

    public static void main(String[] args) {
        Thread thread = new Thread(new SeeState());
        Thread.State state = thread.getState();
        System.out.println(state);
        thread.start();
        state = thread.getState();
        System.out.println(state);
        while (thread.getState()!=Thread.State.TERMINATED)
        {
            state = thread.getState();
            System.out.println(state);
        }
        
    }
}


  1. 初始化线程后立刻执行getState方法得到的是NEW
  2. 调用线程的start方法之后再执行getState方法得到的是RUNNABLE
  3. 线程休眠时得到的State是TIMED_WATING
  4. 线程结束后倘若再次调用start方法则会抛出异常并显示TERMINED
图解线程状态

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/571244.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号