java获取进程名称

java获取进程名称,第1张

代码:

package com.test

import java.lang.management.ManagementFactory

import java.lang.management.RuntimeMXBean

public class Target {

public static void main(String[] args) throws InterruptedException {System.out.println(getProcessID())

while(true) {

Thread.sleep(10000)

}

}

public static final int getProcessID() {

RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean()

System.out.println(runtimeMXBean.getName())

return Integer.valueOf(runtimeMXBean.getName().split("@")[0]) .intValue()

}

}

运行结果:2896@PC-20150603VRPL2896

当前进程ID为2896。

ManagementFactory是一个在运行时管理和监控Java VM的工厂类,它能提供很多管理VM的静态接口,比如RuntimeMXBean;

RuntimeMXBean是Java虚拟机的运行时管理接口.

可以在new 线程的时候指定线程名称,如果后期还想修改,可以调用Thread的setName方法:

public static void main(String[] args) throws InterruptedException {

    Thread thread = new Thread(new Runnable() {

        @Override

        public void run() {

            System.out.println(Thread.currentThread().getName())

            try {

                Thread.sleep(1000)

                // 主线程中进行了修改

                System.out.println(Thread.currentThread().getName())

            } catch (InterruptedException e) {

                e.printStackTrace()

            }

        }

    }, "这里设置线程名称")

    thread.start()

    // 500毫秒后修改线程名称

    Thread.sleep(500)

    thread.setName("新的线程名称!")

}

运行结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8112185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存