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

    线程状态观测

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

    • NEW

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

    • RUNNABLE

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

    • BLOCKED

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

    • WAITING

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

    • TIMED_WAITING

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

    • TERMINATED

      已退出的线程处于此状态。

    package MultiProcess;
    
    //观察测试线程的状态
    public class ThreadState {
        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);
    
            //观察启动后
            thread.start();
            state = thread.getState();
            System.out.println(state);
    
            while(state != Thread.State.TERMINATED){
                Thread.sleep(100);
                state = thread.getState(); //更新线程状态
                System.out.println(state);
            }
        }
    }
    
    结果
    NEW
    RUNNABLE
    TIMED_WAITING
    TIMED_WAITING
    ...
    TIMED_WAITING
    TIMED_WAITING
    ******
    TERMINATED
    
    
  • 相关阅读:
    java学习——abstract 和 final
    apache配置访问目录的默认页面
    Beyond Compare 4
    idea常用插件
    linux关闭防火墙
    本地项目上传到gitlab
    删除数据库中多余的数据
    git上传本地项目到gitlab
    谷歌浏览器插件
    域名
  • 原文地址:https://www.cnblogs.com/happysml/p/13833164.html
Copyright © 2011-2022 走看看