【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线程,用户程序入口

猜你喜欢

转载自blog.csdn.net/lantingshuxu/article/details/80194120
今日推荐