1. 程式人生 > >【java】檢視一個普通的java程式包含哪些執行緒

【java】檢視一個普通的java程式包含哪些執行緒

使用JMX可以檢視一個普通的java程式包含哪些執行緒,程式碼記錄如下:

public static void main(String[] args){
        // 獲取java執行緒管理器MXBean
        ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
        //  lockedMonitors引數表示是否獲取同步的monitor資訊,lockedSynchronizers表示是否獲取同步的synchronizer
        ThreadInfo[] infos =  threadMXBean.dumpAllThreads(false
,false); for(ThreadInfo info : infos){ // 列印執行緒ID和執行緒名字 System.out.println("["+info.getThreadId()+"]"+info.getThreadName()); } }

列印結果如下:

[8]JDWP Command Reader
[7]JDWP Event Helper Thread
[6]JDWP Transport Listener: dt_socket
[5]Attach Listener
[4]Signal Dispatcher // 分發處理髮送給JVM訊號的執行緒
[3]Finalizer // 呼叫物件finalize方法的執行緒 [2]Reference Handler // 清除Reference的執行緒 [1]main // main執行緒,使用者程式入口