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),每一次打印的結果都不一樣,三個線程的輸出順序是隨機的,并且每一次debug只會進入到一個線程的執(zhí)行每次執(zhí)行結果隨機是因為不一定哪個線程可以先獲得CPU時間片
更改debug設置
其實,在IDEA中有一個設置,那就是當我們在斷點處單擊鼠標右鍵就會彈出一個設置對話框,當我們把其中的AI修改為 Thread之后,嘗試重新執(zhí)行debug代碼。

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

每次只會進入到一個線程中
到此這篇關于IDEA如何對多線程進行debug的示例詳解的文章就介紹到這了,更多相關IDEA對多線程debug內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
在IDEA中安裝MyBatis Log Plugin插件,執(zhí)行mybatis的sql語句(推薦)
這篇文章主要介紹了在IDEA中安裝MyBatis Log Plugin插件,執(zhí)行mybatis的sql語句,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
Java中利用Alibaba開源技術EasyExcel來操作Excel表的示例代碼
這篇文章主要介紹了Java中利用Alibaba開源技術EasyExcel來操作Excel表的示例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
Java自帶的Http?Server實現(xiàn)設置返回值的類型(content-type)
這篇文章主要介紹了Java自帶的Http?Server實現(xiàn)設置返回值的類型(content-type),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
mybatis plus動態(tài)數據源切換及查詢過程淺析
這篇文章主要介紹了mybatis plus動態(tài)數據源切換及查詢過程淺析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
解決SpringBoot整合MybatisPlus分模塊管理遇到的bug
這篇文章主要介紹了解決SpringBoot整合MybatisPlus分模塊管理遇到的bug,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

