欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IDEA如何對多線程進行debug的示例詳解

 更新時間:2024年05月20日 10:44:30   作者:t梧桐樹t  
開發(fā)中使用到多線程的時候不少,但是debug起來還是比較困難的,因為默認(rèn)每次只會進入一個線程,這樣有些問題是發(fā)現(xiàn)不了的,其實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");
    }
}

如果我們多次執(zhí)行這個代碼,就會發(fā)現(xiàn),每一次打印的結(jié)果都不一樣,三個線程的輸出順序是隨機的,并且每一次debug只會進入到一個線程的執(zhí)行每次執(zhí)行結(jié)果隨機是因為不一定哪個線程可以先獲得CPU時間片

更改debug設(shè)置

其實,在IDEA中有一個設(shè)置,那就是當(dāng)我們在斷點處單擊鼠標(biāo)右鍵就會彈出一個設(shè)置對話框,當(dāng)我們把其中的AI修改為 Thread之后,嘗試重新執(zhí)行debug代碼。

重新執(zhí)行之后,就可以發(fā)現(xiàn),每一個線程都會進入到斷點當(dāng)中了

每次只會進入到一個線程中

到此這篇關(guān)于IDEA如何對多線程進行debug的示例詳解的文章就介紹到這了,更多相關(guān)IDEA對多線程debug內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java使用正則表達校驗手機號碼示例(手機號碼正則)

    java使用正則表達校驗手機號碼示例(手機號碼正則)

    這篇文章主要介紹了java使用正則表達校驗手機號碼示例,可校驗三個號碼段:13*、15*、18*,大家根據(jù)自己的需要增加自己的號碼段就可以了
    2014-03-03
  • Java死鎖問題詳解及示例

    Java死鎖問題詳解及示例

    本文將討論Java程序中死鎖問題的概念、產(chǎn)生原因以及避免策略。同時,我們還將通過代碼示例來進一步闡述這個問題,感興趣的小伙伴可以跟著小編一起來學(xué)習(xí)
    2023-04-04
  • Java實現(xiàn)Excel與HTML互轉(zhuǎn)

    Java實現(xiàn)Excel與HTML互轉(zhuǎn)

    Excel是一種電子表格格式,而HTM則是一種用于創(chuàng)建網(wǎng)頁的標(biāo)記語言,雖然兩者在用途上存在差異,但有時我們需要將數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式,下面我們就來看看具體實現(xiàn)方法吧
    2025-01-01
  • Java中的Scanner、BufferedReader?和?StreamTokenizer使用詳解

    Java中的Scanner、BufferedReader?和?StreamTokenizer使用詳解

    Scanner是Java?中一個用于解析原始類型(如?int、double?等)和字符串的類,它通常從輸入流中逐個讀取數(shù)據(jù)并進行解析,支持多種分隔符的使用,本文介紹Java中的Scanner、BufferedReader?和?StreamTokenizer的相關(guān)知識,感興趣的朋友一起看看吧
    2025-02-02
  • mybatis-plus更新字段為null的處理方式

    mybatis-plus更新字段為null的處理方式

    這篇文章主要介紹了mybatis-plus更新字段為null的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • SpringBoot啟動時運行特定代碼的多種方式小結(jié)

    SpringBoot啟動時運行特定代碼的多種方式小結(jié)

    SpringBoot提供了多種方式在應(yīng)用程序啟動時運行特定的代碼,包括CommandLineRunner、ApplicationRunner、@PostConstruct、InitializingBean、事件機制和自定義注解等,下面就來具體介紹一下
    2025-01-01
  • SpringBoot實現(xiàn)轉(zhuǎn)頁功能

    SpringBoot實現(xiàn)轉(zhuǎn)頁功能

    這篇文章主要介紹了SpringBoot實現(xiàn)轉(zhuǎn)頁功能,頁面的跳轉(zhuǎn)在web開發(fā)中是經(jīng)常用的基礎(chǔ)功能,感興趣想要詳細(xì)了解可以閱讀下文,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值
    2023-05-05
  • Java經(jīng)典排序算法之歸并排序詳解

    Java經(jīng)典排序算法之歸并排序詳解

    這篇文章主要為大家詳細(xì)介紹了Java經(jīng)典排序算法之歸并排序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • SpringBoot整合Spring Security構(gòu)建安全的Web應(yīng)用

    SpringBoot整合Spring Security構(gòu)建安全的Web應(yīng)用

    pring Security是一個強大的身份驗證和訪問控制框架,本文主要介紹了SpringBoot整合Spring Security構(gòu)建安全的Web應(yīng)用,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • spring MVC cors跨域?qū)崿F(xiàn)源碼解析

    spring MVC cors跨域?qū)崿F(xiàn)源碼解析

    本文主要介紹了spring MVC cors跨域?qū)崿F(xiàn)源碼解析。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02

最新評論