• 线程状态观测


    线程状态观测

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

    • 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
    
    
  • 相关阅读:
    Flask框架基础4
    Flask框架基础3
    Flask框架基础2
    Flask框架基础1
    项目上线流程-Django后端+vue前端
    Git操作
    DRF-jwt认证
    四种方式实现单例模式
    drf框架4-views视图家族操作
    drf框架3-ModelSerializer操作序列化与反序列化
  • 原文地址:https://www.cnblogs.com/happysml/p/13833164.html
Copyright © 2020-2023  润新知