线程状态

115 阅读1分钟

线程状态

线程一共有5个状态

Thread.State

image-20210619230411519.png

线程状态代码实例:

public class ThreadState implements Runnable {

    @Override
    public void run() {
        for (int i = 0; i < 1; i++) {
            try {
                TimeUnit.SECONDS.sleep(1);
            } catch (InterruptedException interruptedException) {
                interruptedException.printStackTrace();
            }
        }
        System.out.println(Thread.currentThread().getName() + "正在执行");
    }

    public static void main(String[] args) throws InterruptedException {
        Runnable target;
        Thread thread = new Thread(new ThreadState());
        // 未启动状态
        System.out.println(thread.getState());
        // 启动线程
        thread.start();
        System.out.println(thread.getState());


        while (thread.getState() != Thread.State.TERMINATED) {
            Thread.sleep(100);
            System.out.println(thread.getState());
        }

        System.out.println(thread.getState());
    }
}

执行结果: image.png