天天看點

擷取java 的線程管理器,檢視所有線程的相關資訊

1、代碼案例:

package multiThread.art;


import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;
import java.lang.management.ThreadMXBean;

public class MultiThread {
    public static void main(String[] args) {
        // 擷取 java 線程管理 MXBean
        ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
        // 需要擷取同步的 monitor 和 synchronizer 資訊,僅擷取線程和線程堆棧資訊
        ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(false, false);
        // 周遊線程資訊,僅僅列印線程 ID 和線程名稱資訊
        for( ThreadInfo t : threadInfos ){
            System.out.println("[" + t.getThreadId() + "]" + ":" +
                            t.getThreadName() );
        }
    }
}
           

測試結果:

擷取java 的線程管理器,檢視所有線程的相關資訊

繼續閱讀