[英]Active Time of Thread Java
如何获取Thread实际处于运行状态的活动时间。 减去所有等待和睡眠时间。
我似乎没有在Thread API中找到任何能够提供所需结果的内容。
如果不是确切的代码任何想法或伪代码将是伟大的开始。
谢谢
谢谢assylias ThreadMXBean为我工作..以下是我所做的示例代码。
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
try {
for(int i = 999999999; i > 0; i--){}
Thread.sleep(5000);
ThreadMXBean threadBean = ManagementFactory.getThreadMXBean();
long threadCpuTime = threadBean.getCurrentThreadCpuTime();
System.out.println(Thread.currentThread().getName() + " :: " + threadCpuTime);
} catch (InterruptedException e) {
e.printStackTrace();
return;
}
}
我只是睡了5秒钟来检查它是否被添加到CPU时间。 它没有添加。 我也把空循环放在一起,这样处理就需要一些时间。
Here's Output
Thread-1 :: 15600200
Thread-4 :: 15700100
Thread-3 :: 15600100
Thread-0 :: 15500100
Thread-2 :: 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.