观察线程的状态

public class ThreadState {
    public static void main(String[] args) {
        //  定义一个线程
        Thread thread  = new Thread(()-> {
            for(int i = 0; i < 5; i++){
                try {
                    Thread.sleep(1000);
                    System.out.println("线程正在执行"+ i);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            System.out.println("线程结束了");
        });
        Thread.State state = thread.getState();//  Thread 的getState()方法返回 线程的状态,而线程的状态 类型是 枚举类
                                                // 此枚举类还 声明在 Thread类里面, 是个内部类
        System.out.println("线程还没有启动,目前线程的状态是:" + state); // println 会调用 State枚举类里面的 默认的 toString()方法, 打印 线程的状态
        thread.start(); // 线程启动, 就好像是手机里的 后台运行一样, 此线程在后台运行, 此行以下的 代码 与 thread线程并行

        state = thread.getState(); // 线程启动了, 咱们再来看看 线程的状态
        System.out.println("线程启动了, 目前线程状态:"+ state);

        while (state != Thread.State.TERMINATED) {
            try {
                Thread.sleep(100);  // 防止循环太快, 100毫秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            state = thread.getState(); //更新线程的状态
            System.out.println("while循环中的 目前状态;" + state); // 打印出来, 查看状态
        }

    }
}

Original: https://www.cnblogs.com/langdexuminggg/p/16186188.html
Author: 具装
Title: 观察线程的状态

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/608609/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Flink总结

    从头儿过一遍书,做了些摘要。SQL那里还没仔细复习。 核心目标:数据流上的有状态计算 具体定位:以内存执行速度(速度快)和任意规模来执行计算(可扩展性强) -> 小松鼠快速灵…

    Java 2023年6月8日
    080
  • 设计模式—建造者模式

    类型:创建型 目的:创建对象时,提升属性设置的 灵活性。 灵活性 类中定义了大量属性时,通常为了创建对象时属性初始设置的便利随之定义大量的构造方法。为了既不定义过多的构造方法,又保…

    Java 2023年6月7日
    074
  • 10轮伪匹配

    26名学生,每个人可以填写10个交谈对象: 10轮匹配结果: 1、pom.xml <dependency> <groupId>junitgroupId&gt…

    Java 2023年6月13日
    076
  • 解决 maven 项目无法编译的问题

    在 idea 中编译时,出现以下错误 代码 Malformed \uxxxx encoding. 经过各种资料和分析后,是因为依赖的 jar 包有下载不完整导致的。解决办法是,把这…

    Java 2023年6月8日
    065
  • ​打造企业自己代码规范IDEA插件(中)

    一些基本概念 在开始独立研发公司自己的代码规范检查规则之前,先介绍一些相关的基本概念。阿里巴巴代码规范很多规则其实都是基于开源框架PMD进行的研发。PMD用官方的话语介绍来说:PM…

    Java 2023年6月15日
    084
  • 备忘录--关于线程和IO知识

    因为自己还在出差中,没时间深入学习,最近工作里又有对一些技术的思考,所以这里记录下来,等回去有时间可以按照这个思路进行学习,这里主要起到备忘的作用。 1.线程难学难在我们没有理解操…

    Java 2023年5月30日
    052
  • window.history.go 返回上一页 并判断是否后退的 然后决定是否刷新

    使用window.history.go(-1)返回上页的同时 断页面是通过链接打开还是通过后退按钮返回打开的?加入以下代码: 引用内容: 也可禁止缓存,重新进入页面 引用内容: 返…

    Java 2023年6月13日
    071
  • JVM-堆

    堆 JAVA技术交流群:737698533 堆核心概述 此内存区域的唯一目的就是存放对象实例 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Java堆区在JV…

    Java 2023年6月6日
    074
  • Xshell 利用跳板机连接局域网的目的主机

    跳板机配置 配置主机 端口号 主机: xxxx 配置登录用户 && 密码 用户: xxxx 密码: xxxx 配置跳板机监听端口 配置目的主机的连接 配置ip 端口…

    Java 2023年6月7日
    086
  • 「日常开发」记一次因使用Date引起的线上BUG处理

    生活中,我们需要掌控自己的时间,减少加班,提高效率;日常开发中,我们需要操作时间API,保证效率、安全、稳定。现在都2020年了,了解如何在JDK8及以后的版本中更好地操控时间就很…

    Java 2023年6月13日
    0103
  • 分布式中灰度方案实践

    让请求在导航的服务节上点执行; 一、背景简介 分布式系统中会存在这样的开发场景,不同需求可能涉及到对同一个服务的开发,那么该服务在研发期间就会存在多个版本并行的状态,为了保持不同版…

    Java 2023年6月15日
    071
  • spring中Bean的生命周期

    1、 实例化bean:反射的方式生成对象 2、 填充bean的属性:populateBean(),进行依赖注入,这里可以扩展出循环依赖问题(三级缓存) 3、 调用aware接口相关…

    Java 2023年6月8日
    084
  • Javaweb面试

    一:cookie和session的区别?1.session和cookie都是会话跟踪技术2.session是保存在服务器端的技术,而cookie是保存在客户端的技术3.cookie…

    Java 2023年6月5日
    092
  • 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v5.8.0版)

    TableGo v5.8.0版更新震撼发布,功能更加强大,速度过来围观,此次版本更新如下:1、新增自定义文件功能,可以自己编写模板生成任意代码的文件。2、新增数据源配置自动生成功能…

    Java 2023年6月9日
    0101
  • springboot对LocalDateTime类型入参和接口返回值格式化

    背景 使用过java8的朋友应该都知道LocalDateTime类型,它作为全新的日期和时间API ,对比Date类型有着很大的优势,极大的方便了我们对于时间和日期的操作。不过,如…

    Java 2023年5月30日
    090
  • 常见的垃圾回收机制

    如何工作 在某些 Java 虚拟机中,堆的实现截然不同:它更像一个传送带,每分配一个新对象,它就向前移动一格。这意味着对象存储空间的分配速度特别快。Java 的”堆指针…

    Java 2023年6月15日
    075
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球