JavaTM Platform
Standard Ed. 6

java.lang.management
클래스 ThreadInfo

java.lang.Object 
  상위를 확장 java.lang.management.ThreadInfo


public class ThreadInfo
extends Object

thread 정보입니다. ThreadInfo 에는, thread에 관한 이하의 정보가 있습니다.

일반적인 thread 정보

실행 정보

동기의 통계 정보

이 thread 정보 클래스는, 동기 제어용은 아니고, 시스템의 감시에 사용되도록(듯이) 설계되고 있습니다.

MXBean 의 매핑

ThreadInfo 는,from 메소드로 지정된 속성을 가지는 CompositeData 에 매핑 됩니다.

도입된 버젼:
1.5
관련 항목:
ThreadMXBean.getThreadInfo(long) , ThreadMXBean.dumpAllThreads(boolean, boolean)

메소드의 개요
static ThreadInfo from (CompositeData  cd)
          지정된 CompositeData 에 의해 나타내지는 ThreadInfo 객체를 돌려줍니다.
 long getBlockedCount ()
          이 ThreadInfo 에 관련하는 thread가, 모니터에 들어가는지, 재입 하는 것을 블록 한 합계 회수를 돌려줍니다.
 long getBlockedTime ()
          thread 컨텐션 감시가 유효하게 되고 나서, 이 ThreadInfo 에 관련하는 thread가 모니터에 들어갈까 재입 하는 것을 블록 한 대략의 누적 경과시간 (밀리 세컨드 단위)을 돌려줍니다.
 MonitorInfo [] getLockedMonitors ()
          MonitorInfo 객체의 배열을 돌려줍니다.
 LockInfo [] getLockedSynchronizers ()
          LockInfo 객체의 배열을 돌려줍니다.
 LockInfo getLockInfo ()
          이 ThreadInfo 에 관련하는 thread가 대기하는 것을 블록 되는 객체의 LockInfo 를 돌려줍니다.
 String getLockName ()
          이 ThreadInfo 에 관련하는 thread가 대기하는 것을 블록 되는 객체의 캐릭터 라인 표현 을 돌려줍니다.
 long getLockOwnerId ()
          이 ThreadInfo 에 관련하는 thread가 대기를 블록 되고 있는 객체에 대해, 그 객체를 소유하는 thread의 ID 를 돌려줍니다.
 String getLockOwnerName ()
          이 ThreadInfo 에 관련하는 thread가 대기를 블록 되고 있는 객체에 대해, 그 객체를 소유하는 thread의 이름을 돌려줍니다.
 StackTraceElement [] getStackTrace ()
          이 ThreadInfo 에 관련하는 thread의 스택 트레이스를 돌려줍니다.
 long getThreadId ()
          이 ThreadInfo 에 관련하는 thread의 ID 를 돌려줍니다.
 String getThreadName ()
          이 ThreadInfo 에 관련하는 thread의 이름을 돌려줍니다.
 Thread.State getThreadState ()
          이 ThreadInfo 에 관련하는 thread 상태를 돌려줍니다.
 long getWaitedCount ()
          이 ThreadInfo 에 관련하는 thread가 통지를 대기한 합계 회수를 돌려줍니다.
 long getWaitedTime ()
          thread 컨텐션 감시가 유효하게 되고 나서, 이 ThreadInfo 에 관련하는 thread가 통지를 대기한 대략의 누적 경과시간 (밀리 세컨드 단위)을 돌려줍니다.
 boolean isInNative ()
          이 ThreadInfo 에 관련하는 thread가, JNI (Java Native Interface)를 사용해 native code를 실행하고 있을지 어떨지를 테스트합니다.
 boolean isSuspended ()
          이 ThreadInfo 에 관련하는 thread가 중단되고 있는지 어떤지를 테스트합니다.
 String toString ()
          이 thread 정보의 캐릭터 라인 표현을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

메소드의 상세

getThreadId

public long getThreadId()
ThreadInfo 에 관련하는 thread의 ID 를 돌려줍니다.

반환값:
관련하는 thread의 ID

getThreadName

public String  getThreadName()
ThreadInfo 에 관련하는 thread의 이름을 돌려줍니다.

반환값:
관련하는 thread의 이름

getThreadState

public Thread.State  getThreadState()
ThreadInfo 에 관련하는 thread 상태를 돌려줍니다.

반환값:
관련하는 thread의 Thread.State

getBlockedTime

public long getBlockedTime()
thread 컨텐션 감시가 유효하게 되고 나서, 이 ThreadInfo 에 관련하는 thread가 모니터에 들어갈까 재입 하는 것을 블록 한 대략의 누적 경과시간 (밀리 세컨드 단위)을 돌려줍니다. 즉, 이 시간은, thread 컨텐션 감시가 마지막에 유효하게 되고 나서 thread가 BLOCKED 상태가 되어 있던 합계의 누적 시간입니다. thread 컨텐션 감시가 무효의 경우, 이 thread는 -1 을 돌려줍니다.

Java 가상 머신은 고정밀도 타이머를 사용해 계측 할 수 있습니다. 이 통계 정보는, thread 컨텐션 감시가 다시 유효하게 되면(자) 리셋 됩니다.

반환값:
thread가 BLOCKED 상태에 들어갔다 대략의 누적 경과시간 (밀리 세컨드 단위). thread 컨텐션 감시가 무효의 경우는 -1
예외:
UnsupportedOperationException - Java 가상 머신이 이 조작을 지원하고 있지 않는 경우
관련 항목:
ThreadMXBean.isThreadContentionMonitoringSupported() , ThreadMXBean.setThreadContentionMonitoringEnabled(boolean)

getBlockedCount

public long getBlockedCount()
ThreadInfo 에 관련하는 thread가, 모니터에 들어가는지, 재입 하는 것을 블록 한 합계 회수를 돌려줍니다. 즉, thread가 BLOCKED 상태인 합계 회수입니다.

반환값:
thread가 BLOCKED 상태에 들어간 합계 회수

getWaitedTime

public long getWaitedTime()
thread 컨텐션 감시가 유효하게 되고 나서, 이 ThreadInfo 에 관련하는 thread가 통지를 대기한 대략의 누적 경과시간 (밀리 세컨드 단위)을 돌려줍니다. 즉, 이 시간은, thread 컨텐션 감시가 유효하게 되고 나서, thread가 WAITING 또는 TIMED_WAITING 상태인 합계의 누적 시간입니다. thread 컨텐션 감시가 무효의 경우, 이 thread는 -1 을 돌려줍니다.

Java 가상 머신은 고정밀도 타이머를 사용해 계측 할 수 있습니다. 이 통계 정보는, thread 컨텐션 감시가 다시 유효하게 되면(자) 리셋 됩니다.

반환값:
thread가 WAITING 또는 TIMED_WAITING 상태였다 대략의 누적 경과시간 (밀리 세컨드 단위). thread 컨텐션 감시가 무효의 경우는 -1
예외:
UnsupportedOperationException - Java 가상 머신이 이 조작을 지원하고 있지 않는 경우
관련 항목:
ThreadMXBean.isThreadContentionMonitoringSupported() , ThreadMXBean.setThreadContentionMonitoringEnabled(boolean)

getWaitedCount

public long getWaitedCount()
ThreadInfo 에 관련하는 thread가 통지를 대기한 합계 회수를 돌려줍니다. 즉, thread가 WAITING 또는 TIMED_WAITING 상태에 있던 합계 회수입니다.

반환값:
thread가 WAITING 또는 TIMED_WAITING 상태인 합계 회수

getLockInfo

public LockInfo  getLockInfo()
ThreadInfo 에 관련하는 thread가 대기하는 것을 블록 되는 객체의 LockInfo 를 돌려줍니다.. thread는 다음의 몇개의 대기가 블록 되는 일이 있습니다.

thread가 상기의 어느 상태도 아닌 경우, 이 메소드는 null 를 돌려줍니다.

반환값:
thread가 대기를 블록 되고 있는 객체가 있는 경우는 그 객체의 LockInfo, 그렇지 않은 경우는 null
도입된 버젼:
1.6

getLockName

public String  getLockName()
ThreadInfo 에 관련하는 thread가 대기하는 것을 블록 되는 객체의 캐릭터 라인 표현 을 돌려줍니다. 이 메소드는, 이하를 호출하는 것과 동등합니다.
 getLockInfo(). toString()
 

이 thread가 어느 객체의 대기도 블록되어 있지 않은 경우, 또는 객체가 thread에 의해 소유되어 있지 않은 경우, 이 메소드는 null 를 돌려줍니다.

반환값:
thread가 블록 되고 있는 경우는 그 객체의 캐릭터 라인 표현, 그렇지 않은 경우는 null
관련 항목:
getLockInfo()

getLockOwnerId

public long getLockOwnerId()
ThreadInfo 에 관련하는 thread가 대기를 블록 되고 있는 객체에 대해, 그 객체를 소유하는 thread의 ID 를 돌려줍니다. 이 thread가 어느 객체의 대기도 블록되어 있지 않은 경우, 또는 객체를 소유하는 thread가 없는 경우, 이 메소드는 -1 을 돌려줍니다.

반환값:
이 thread가 블록 되고 있는 객체를 소유하고 있는 thread의 thread ID. 이 thread가 블록되어 있지 않은 경우, 또는 객체를 소유하는 thread가 없는 경우는 -1
관련 항목:
getLockInfo()

getLockOwnerName

public String  getLockOwnerName()
ThreadInfo 에 관련하는 thread가 대기를 블록 되고 있는 객체에 대해, 그 객체를 소유하는 thread의 이름을 돌려줍니다. 이 thread가 어느 객체의 대기도 블록되어 있지 않은 경우, 또는 객체가 thread에 의해 소유되어 있지 않은 경우, 이 메소드는 null 를 돌려줍니다.

반환값:
이 thread가 블록 되고 있는 객체를 소유하고 있는 thread의 이름. 이 thread가 블록되어 있지 않은 경우, 또는 객체를 소유하는 thread가 없는 경우는 null
관련 항목:
getLockInfo()

getStackTrace

public StackTraceElement [] getStackTrace()
ThreadInfo 에 관련하는 thread의 스택 트레이스를 돌려줍니다. 이 thread 정보에 대해 스택 트레이스가 요구되지 않았던 경우, 이 메소드는 길이 제로의 배열을 돌려줍니다. 반환된 배열이 제로 이외의 길이의 배열인 경우, 배열의 최초의 요소는 스택의 최상부를 나타냅니다. 이것은 순서로 불려 간 가장 새로운 메소드입니다. 배열의 마지막 요소는, 스택의 저부를 나타냅니다. 이것은 순서로 불려 간 가장 낡은 메소드입니다.

Java 가상 머신안에는, 특정의 상황하로 스택 트레이스로부터 1 개 이상의 스택 프레임을 생략 하는 것이 있습니다. 극단적인 경우, 이 ThreadInfo 에 관련하는 thread의 스택 트레이스 정보를 보관 유지하지 않는 가상 머신이, 이 메소드로부터 길이 제로의 배열을 돌려주는 것이 허가됩니다.

반환값:
thread의 StackTraceElement 객체의 배열

isSuspended

public boolean isSuspended()
ThreadInfo 에 관련하는 thread가 중단되고 있는지 어떤지를 테스트합니다. Thread.suspend() 가 불려 가고 있었을 경우, 이 메소드는 true 를 돌려줍니다.

반환값:
이 thread가 중단되고 있는 경우는 true, 그렇지 않은 경우는 false

isInNative

public boolean isInNative()
ThreadInfo 에 관련하는 thread가, JNI (Java Native Interface)를 사용해 native code를 실행하고 있을지 어떨지를 테스트합니다. JNI native code는, 가상 머신 지원 코드나 가상 머신에 의해 생성된 컴파일이 끝난 native code를 포함하지 않습니다.

반환값:
thread가 native code를 실행하고 있는 경우는 true, 그렇지 않은 경우는 false

toString

public String  toString()
이 thread 정보의 캐릭터 라인 표현을 돌려줍니다. 이 캐릭터 라인의 형식은 구현에 의존합니다. 일반적으로, 반환되는 캐릭터 라인에는 thread명,thread ID , 그 상태,스택 트레이스 가 포함됩니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 thread 정보의 캐릭터 라인 표현

from

public static ThreadInfo  from(CompositeData  cd)
지정된 CompositeData 에 의해 나타내지는 ThreadInfo 객체를 돌려줍니다. 특히 거절이 없는 한, 지정된 CompositeData 는, 다음의 속성을 포함할 필요가 있습니다.
속성명
threadId java.lang.Long
threadName java.lang.String
threadState java.lang.String
suspended java.lang.Boolean
inNative java.lang.Boolean
blockedCount java.lang.Long
blockedTime java.lang.Long
waitedCount java.lang.Long
waitedTime java.lang.Long
lockInfo javax.management.openmbean.CompositeData - MXBeans형태 매핑 룰로 지정된,LockInfo 의 맵 된 형태.

cd 에 이 속성이 포함되지 않는 경우,LockInfo 객체는 lockName 속성의 값으로부터 구축됩니다.

lockName java.lang.String
lockOwnerId java.lang.Long
lockOwnerName java.lang.String
stackTrace javax.management.openmbean.CompositeData[]

각 요소는, 이하의 속성을 포함한 StackTraceElement 를 나타내는 CompositeData

속성명
className java.lang.String
methodName java.lang.String
fileName java.lang.String
lineNumber java.lang.Integer
nativeMethod java.lang.Boolean
lockedMonitors 요소형이 MonitorInfo 의 맵 된 형태인 javax.management.openmbean.CompositeData[]. 이 형태는 Monitor.from 메소드로 지정됩니다.

cd 에 이 속성이 포함되지 않는 경우, 이 속성은 빈 상태(empty)의 배열로 설정됩니다.

lockedSynchronizers 요소형이 LockInfo 의 맵 된 형태인 javax.management.openmbean.CompositeData[]. 이 형태는 MXBeans형태 매핑 룰로 지정됩니다.

cd 에 이 속성이 포함되지 않는 경우, 이 속성은 빈 상태(empty)의 배열로 설정됩니다.

파라미터:
cd - ThreadInfo 를 나타내는 CompositeData
반환값:
cdnull 가 아닌 경우는 cd 에 의해 나타내지는 ThreadInfo 객체. 그렇지 않은 경우는 null
예외:
IllegalArgumentException - cd 가 상기의 속성을 가지는 ThreadInfo 를 나타내지 않는 경우

getLockedMonitors

public MonitorInfo [] getLockedMonitors()
MonitorInfo 객체의 배열을 돌려줍니다. 각 객체는, 이 ThreadInfo 에 관련하는 thread에 의해 현재 락 되고 있는 객체 모니터를 나타냅니다. 이 thread 정보에 대해 락 된 모니터가 요구되지 않았던 경우, 또는 thread에 의해 락 된 모니터가 없는 경우, 이 메소드는 길이 제로의 배열을 돌려줍니다.

반환값:
thread에 의해 락 된 객체 모니터를 나타낸다 MonitorInfo 객체의 배열
도입된 버젼:
1.6

getLockedSynchronizers

public LockInfo [] getLockedSynchronizers()
LockInfo 객체의 배열을 돌려줍니다. 각 객체는, 이 ThreadInfo 에 관련하는 thread에 의해 현재 락 되고 있는소유 가능한 싱크로나이저를 나타냅니다. 이 thread 정보에 대해 락 된 싱크로나이저가 요구되지 않았던 경우, 또는 thread에 의해 락 된 싱크로나이저가 없는 경우, 이 메소드는 길이 제로의 배열을 돌려줍니다.

반환값:
thread에 의해 락 된 소유 가능한 싱크로나이저를 나타낸다 LockInfo 객체의 배열
도입된 버젼:
1.6

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.