首页 > 其他分享 >线程状态演示

线程状态演示

时间:2022-12-20 12:46:21浏览次数:33  
标签:状态 getState 演示 Thread t3 System state 线程 out

线程状态演示

操作系统层面有5中状态

Java中有6种状态

NEW、 RUNNABLE、 BLOCKED、 WAITING、 TIMED_WAITING、 TERMINATED

Thread源码中就有显示,打印出来

演示

@Slf4j
public class TState {
    public static void main(String[] args) throws InterruptedException {
        Thread t1 = new Thread(() -> {
            log.debug("t1 running...");
        }, "t1");

        Thread t2 = new Thread(() -> {
            while (true){

            }
        }, "t2");
        t2.start();

        Thread t3 = new Thread(() -> {
            log.debug("t3 running...");
        }, "t3");
        t3.start();

        Thread t4 = new Thread(() -> {
            synchronized (TState.class){
                try {
                    Thread.sleep(10000000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }, "t4");
        t4.start();

        Thread t5 = new Thread(() -> {
            try {
                t2.join();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }, "t5");
        t5.start();

        Thread t6 = new Thread(() -> {
            synchronized (TState.class){
                try {
                    Thread.sleep(10000000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }, "t6");
        t6.start();


        TimeUnit.MILLISECONDS.sleep(500);
        System.out.println("t1 state: " + t1.getState());
        System.out.println("t2 state: " + t2.getState());
        System.out.println("t3 state: " + t3.getState());
        System.out.println("t4 state: " + t4.getState());
        System.out.println("t5 state: " + t5.getState());
        System.out.println("t6 state: " + t6.getState());
    }
}

标签:状态,getState,演示,Thread,t3,System,state,线程,out
From: https://www.cnblogs.com/WangJiQing/p/16993929.html

相关文章

  • Spring Statemachine状态机的概念(四)
    状态机示例参考文档的这一部分解释了状态的使用机器以及示例代码和UML状态图。我们使用一些表示状态图、Spring状态机之间关系时的快捷方式配置,以及应用程序对状态机......
  • Spring Statemachine状态机的概念(五)
    部署部署示例显示了如何将状态机概念与UML建模以提供通用错误处理状态。此状态机器是一个相对复杂的例子,说明如何使用各种功能提供集中式错误处理概念。下图显示了部署......
  • Spring Statemachine状态机的概念(二)
    使用作用域状态机对作用域的支持非常有限,但您可以通过以下两种方式之一使用普通的Spring注释来启用范围:​​session​​​​@Scope​​如果状态机是使用构建器手动构建的......
  • 为什么Java线程没有Running状态?
    Java虚拟机层面所暴露给我们的状态,与操作系统底层的线程状态是两个不同层面的事。具体而言,这里说的Java线程状态均来自于Thread类下的State这一内部枚举类中所定义的......
  • Spring Statemachine状态机的概念(三)
    状态机服务状态机服务是更高级别的实现,旨在提供更多用户级功能,简化正常运行时间操作。目前只有一个服务接口()存在。​​StateMachineService​​用​​StateMachineServi......
  • 问:你是如何进行react状态管理方案选择的?
    前言:最近接触到一种新的(对我个人而言)状态管理方式,它没有采用现有的开源库,如redux、mobx等,也没有使用传统的useContext,而是用useState+useEffect写了一个发布订阅者模式进......
  • 再谈Python多线程--避免GIL对性能的影响
    在Python中使用多线程,如果你对GIL本身没有一定的了解;那么很有可能你只是写出了正确的多线程代码,而并没有达到多线程的目的,甚至截然相反的效果。下面介绍了Python中GIL的作用......
  • Spring Statemachine状态机的概念
    SpringStatemachine(SSM)是一个框架,可以让应用程序开发人员将传统的状态机概念与Spring应用程序结合使用。SSM提供以下功能:易于使用的平面(单级)状态机,适用于简单用例。分......
  • Jmeter获取Cookie并传递到下一个线程
    Jmeter是测试过程中会被用到的一个测试工具,我们即可用来进行压力的压测,也可以用来对接口进行功能检查,不仅仅是HTTP的结果,还有DB、TCP、FTP等等。当然它还有很多其它有用的功......
  • k8s原理之-Pod状态和生命周期管理
     一、什么是Pod?Pod是kubernetes中你可以创建和部署的最小也是最简的单位。一个Pod代表着集群中运行的一个进程。Pod中封装着应用的容器(有的情况下是好几个容器),存储......