ThreadInfo
ThreadInfo (스레드 정보)
스레드에 대한 정보를 담는 클래스예요. 스레드 ID, 이름, 데몬 여부, 상태, 스택 트레이스, 동기화 정보 등을 포함해요.
본문
ThreadInfo에는 다음 정보가 포함돼요:
- 일반 스레드 정보 — 스레드 ID, 스레드 이름, 데몬(daemon) 스레드 여부.
- 실행 정보 — 스레드 상태. 스레드가 동기화 블록/메서드 진입을 대기하며,
Object.wait메서드에서 알림을 기다리며, 또는LockSupport.park호출로 인해 블록된 대상 객체. 스레드를 블록시킨 객체를 소유한 스레드의 ID. 스레드의 스택 트레이스. 스레드가 잠근(locked) 객체 모니터 목록, 스레드가 잠근 독점 가능한 동기화기 목록. - 스레드 우선순위.
- 동기화 통계 — 스레드가 동기화를 위해 블록되거나 알림을 기다린 횟수, 스레드 경합 모니터링(thread contention monitoring)이 활성화된 이후 스레드가 동기화를 위해 블록되거나 알림을 기다린 누적 경과 시간. 일부 JVM 구현은 이 기능을 지원하지 않을 수 있어요.
ThreadMXBean.isThreadContentionMonitoringSupported()로 지원 여부를 확인할 수 있어요.
이 스레드 정보 클래스는 시스템 모니터링 용도로 설계된 것이지 동기화 제어용이 아니에요. ThreadInfo는 from 메서드에 명시된 대로 CompositeData로 매핑되어 MXBean을 통해 전달될 수 있어요. ThreadMXBean.getThreadInfo(long) 또는 ThreadMXBean.dumpAllThreads(boolean, boolean)로 얻을 수 있어요. Java 1.5부터 제공돼요.