ThreadMXBeanには、スレッド時間の使用状況を取得するための2つのメソッドがあります。
2つの違いは何ですか?
アップデート2:javadocsにリンクできる場合は、引用しないでください。すでに読んでいます。
更新:これらの時間が何を意味するかを学ぶために私が使用しようとしたいくつかのコードがありますが、ほとんど成功していません:
ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
threadMXBean.setThreadContentionMonitoringEnabled(true);
long mainThreadId = getMainThreadId(threadMXBean);
logTimes("Start", threadMXBean, mainThreadId);
URL url = new URL("https://hudson.dev.java.net");
URLConnection connection = url.openConnection();
connection.getContent();
logTimes("After loading", threadMXBean, mainThreadId);
出力は次のとおりです。
Start Tue Jun 16 16:13:40 EEST 2009 Cpu time : 80, user time: 60, waited: 0, blocked: 0
After loading Tue Jun 16 16:13:43 EEST 2009 Cpu time : 1,020, user time: 960, waited: 0, blocked: 0
したがって、CPUとユーザー時間の差は20ミリ秒から60ミリ秒に増加しました。これは、HttpUrlConnectionの使用にネットワークI / Oが含まれているためですか?