IDEA如何对多线程进行debug的示例详解

 更新时间:2024年05月20日 10:44:30   作者:t梧桐树t  
开发中使用到多线程的时候不少,但是debug起来还是比较困难的,因为默认每次只会进入一个线程,这样有些问题是发现不了的,其实IDEA也是支持进入每个线程来debug的,本文给大家介绍了IDEA如何对多线程进行debug的示例,需要的朋友可以参考下

写一个简单的demo

public class ThreadDebug {
 
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
 
        Thread thread1 = new Thread(myThread, "thread 1");
        Thread thread2 = new Thread(myThread, "thread 2");
        Thread thread3 = new Thread(myThread, "thread 3");
 
        thread1.start();
 
        thread2.start();
 
        thread3.start();
    }
}
 
class MyThread implements Runnable {
 
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName() + " running");
    }
}

如果我们多次执行这个代码,就会发现,每一次打印的结果都不一样,三个线程的输出顺序是随机的,并且每一次debug只会进入到一个线程的执行每次执行结果随机是因为不一定哪个线程可以先获得CPU时间片

更改debug设置

其实,在IDEA中有一个设置,那就是当我们在断点处单击鼠标右键就会弹出一个设置对话框,当我们把其中的AI修改为 Thread之后,尝试重新执行debug代码。

重新执行之后,就可以发现,每一个线程都会进入到断点当中了

每次只会进入到一个线程中

到此这篇关于IDEA如何对多线程进行debug的示例详解的文章就介绍到这了,更多相关IDEA对多线程debug内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java基础学习之运算符相关知识总结

    Java基础学习之运算符相关知识总结

    今天带大家复习Java基础知识,文中对Java运算符相关知识作了详细总结,对正在学习java基础的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • Java使用wait和notify实现线程之间的通信

    Java使用wait和notify实现线程之间的通信

    Java 线程通信是将多个独立的线程个体进行关联处理,使得线程与线程之间能进行相互通信,下面这篇文章主要给大家介绍了关于Java使用wait和notify实现线程之间通信的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • java如何获取map中value的最大值

    java如何获取map中value的最大值

    这篇文章主要介绍了java如何获取map中value的最大值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 完美解决idea没有tomcat server选项的问题

    完美解决idea没有tomcat server选项的问题

    这篇文章主要介绍了完美解决idea没有tomcat server选项的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 将SpringBoot项目无缝部署到Tomcat服务器的操作流程

    将SpringBoot项目无缝部署到Tomcat服务器的操作流程

    SpringBoot 是一个用来简化 Spring 应用初始搭建以及开发过程的框架,我们可以通过内置的 Tomcat 容器来轻松地运行我们的应用,本文给大家介绍 SpringBoot 项目部署到独立 Tomcat 服务器的操作流程,需要的朋友可以参考下
    2024-05-05
  • Eclipse Jetty server漏洞解决办法

    Eclipse Jetty server漏洞解决办法

    最近给⼀个客户部署项⽬,但是客户的安全稽核有点变态,居然说 Eclipse Jetty Server⾼危漏洞,这篇文章主要给大家介绍了关于Eclipse Jetty server漏洞解决的相关资料,需要的朋友可以参考下
    2023-11-11
  • json解析时遇到英文双引号报错的解决方法

    json解析时遇到英文双引号报错的解决方法

    下面小编就为大家分享一篇json解析时遇到英文双引号报错的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • java并发之Lock接口的深入讲解

    java并发之Lock接口的深入讲解

    从Java 5之后,在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问.那就是Lock,这篇文章主要给大家介绍了关于java并发之Lock接口的相关资料,需要的朋友可以参考下
    2021-08-08
  • Java实现学生选课管理系统

    Java实现学生选课管理系统

    这篇文章主要为大家详细介绍了Java实现学生选课管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 讲解Java设计模式编程中的建造者模式与原型模式

    讲解Java设计模式编程中的建造者模式与原型模式

    这篇文章主要介绍了Java设计模式编程中的建造者模式与原型模式,设计模式有利于团队开发过程中的代码维护,需要的朋友可以参考下
    2016-02-02

最新评论