Blog

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

A Java 6 megjelenésével több belső információhoz férhetünk hozzá futásidőben, amelyek közül érdekes lehet lekérdezni a szálak adatait, beleértve olyan metrikát, mint a felhasznált CPU idő. A titok a ManagementFactory statikus metódusai körül van, innen tudjuk lekérdezni a ThreadMXBean példányt, amelyből le tudjuk kérdezni az éppen létező szálak adatait:

Code Block
languagejava
linenumberstrue
ThreadMXBean threads = ManagementFactory.getThreadMXBean();
ThreadInfo[] threadInfos = threads.getThreadInfo(threads.getAllThreadIds());
for (int i = 0; i < threadInfos.length; i++)
{
  long nanoTime = threads.getThreadCpuTime(threadInfos[i].getThreadId());
  System.out.println("cpuTime[" + threadInfos[i].getThreadName() + "]: " + nanoTime);
}

A CPU időn túl több metrika is felderíthető, érdemes megtekinteni a ThreadMXBean illetve a ThreadInfo metódusait.