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("新的线程名称!")
}
运行结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)