zoukankan      html  css  js  c++  java
  • 观测线程状态

    观测线程状态

    • Thread.State

      • 线程状态。线程可以处于以下状态之一:

        • new

          尚未启动的线程处于此状态。

        • RUNNABLE

          在JAVA虚拟机中执行的线程处于此状态

        • BLOCKED

          被阻塞等待监视器锁定的线程处于此状态

        • WAITING

          正在等待另一个线程执行特定动作的线程处于此状态

        • TIMED_WAITING

          正在等待另一个线程执行动作达到指定等待时间的线程处于此状态。

        • TERMINATED

          已退出的线程处于此状态

      • 一个线程可以在给定时间点处于一个状态。这些状态是不反映任何操作系统线程状态的虚拟机状态。

    //观察测试线程的状态
    public class TestState {
    
        public static void main(String[] args) throws InterruptedException {
            Thread thread = new Thread(()->{
                for (int i = 0; i < 5; i++) {
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                System.out.println("//////");
            });
    
            //观察状态
            Thread.State state = thread.getState();
            System.out.println(state); //NEW
    
            //观察启动后
            thread.start();//启动线程
            state = thread.getState();
            System.out.println(state); //Run
    
            while (state != Thread.State.TERMINATED){//只要线程不终止,就一直输出状态
                Thread.sleep(100);
                state = thread.getState();//更新线程状态
                System.out.println(state);//输出状态
    
            }
            thread.start();//死亡的线程不能再次被启动
    
        }
    }
    
  • 相关阅读:
    MYSQL分库分表
    MYSQL主从数据库
    mysql not in用法
    python 文件及目录操作
    python 读写文件
    python字符编码
    python类的继承、封装和多态
    python之定义类创建实例
    理解OSI参考模型
    python闭包与装饰器
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13311268.html
Copyright © 2011-2022 走看看