美文网首页
Idea中断点类型:All和Thread的区别

Idea中断点类型:All和Thread的区别

作者: sterefine | 来源:发表于2020-08-16 18:10 被阅读0次

    Idea 中的断点类型,在 Idea 中调试 java 代码时,断点类型有两种:

    • All
    • Thread
    idea debug中断点类型

    大概的区别是:All 会阻塞所有线程,而 Thread 只会阻塞当前线程。
    其实看了上面的解释,还是很难明白其中的区别,用下面一段简单代码就可以区分清楚

    实验步骤

    image.png

    起两个线程,断点打在Thread中的Run内

    1. 先使用默认的All模式,debug运行
      分步运行,第一步卡在 Thread1的第一行代码中


      thread1-step1

    第二步卡在同一处代码,只不过线程是Thread2


    thread2-step1

    第三步卡在Thread1的第二行


    thread1-step2

    第四步卡在Thread2的第二行


    thread2-step2
    1. 再使用 Thread 模式,debug 运行,观察其中的不同
      第一步卡在 Thread1的第一行


      thread1-step1

    第二步卡在 Thread1的第二行


    thread1-step2

    第三步卡在Thread2第一行


    thread2-step1

    第四步卡在Thread2第二行


    thread2-step2

    结论

    使用All的模式,所有进入代码的线程,都会依次卡在第一个断点上,如果不放行,任意一个线程都不进入到下一步。如果是Thread的模式,那么就会每个线程进行依次进行调试,依次进入各自的断点中。

    相关文章

      网友评论

          本文标题:Idea中断点类型:All和Thread的区别

          本文链接:https://www.haomeiwen.com/subject/gqatjktx.html