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三大主流框架概述
    ASP.NET的内置对象
    9月29
    第一章
    在java开发中,为什么要使用单例模式。。?
    《设计模式之禅》一书学习心得(连载中)
    网上的一些java算法题的个人练习笔记
    第四次作业
    看《构建之法》有感
    实验四
  • 原文地址:https://www.cnblogs.com/happysml/p/13833164.html
Copyright © 2011-2022 走看看