Java线程监视\\\\分析\\\\测量
|
我熟悉
http://download.oracle.com/javase/6/docs/api/java/lang/management/ThreadMXBean.html
我想测试\\ profile \\测量线程获得多少CPU时间。
我在我的线程构造函数中添加了以下内容:
ManagementFactory.getThreadMXBean().setThreadCpuTimeEnabled(true);
if(!ManagementFactory.getThreadMXBean().isCurrentThreadCpuTimeSupported())
System.err.println(\"measure is not supported.\");
ManagementFactory.getThreadMXBean().setThreadContentionMonitoringEnabled(true);
if(!ManagementFactory.getThreadMXBean().isCurrentThreadCpuTimeSupported())
System.err.println(\"contention is not supported.\");
然后,当线程完成执行后,我执行了:
long tID = Thread.currentThread().getId();
long execTime = ManagementFactory.getThreadMXBean().getThreadCpuTime(tID);
但是对于我大多数的线程(我绝对确保它们确实占用了CPU),我的执行时间为零(execTime == 0)。
我如何测量螺纹?以上过程可能是什么问题?
先谢谢了。
没有找到相关结果
已邀请:
1 个回复
铰齐插