【java】檢視一個普通的java程式包含哪些執行緒
阿新 • • 發佈:2019-01-23
使用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執行緒,使用者程式入口