首页 > 编程语言 > 详细

检测线程状态Thread.State

时间:2021-07-10 21:59:41      阅读:32      评论:0      收藏:0      [点我收藏+]

线程五大状态

技术分享图片

package com.kaka.thread;

//观察测试线程状态
public class StateThread {

    public static void main(String[] args) throws InterruptedException {

        //此处用了lambda表达式:
        //1.new thread对象时,调用Thread(Runnable tagert)构造函数
        //2.此处target是一个Runnable类型对象,因此肯定有一个重写的run()方法
        //3.因此直接在此处用lambda表达式写带花括号的方法,节省需要写的代码量
        Thread thread=new Thread(()->{
            for (int i = 0; i < 5; i++) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }//5秒后输出以下符号
            }
            System.out.println("//////");
        });

        //观察状态
        Thread.State state=thread.getState();
        System.out.println(state);//new

        //观察启动后的线程状态
        thread.start();//启动线程
        state=thread.getState();
        System.out.println(state);//RUNNABLE

        
        //只要线程不停止就一直输出状态
        while(state != Thread.State.TERMINATED){
            //1秒钟输出10次状态
            Thread.sleep(100);
            state=thread.getState();
            System.out.println(state);
            
        }
    }
}



检测线程状态Thread.State

原文:https://www.cnblogs.com/kakafa/p/14994521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!