|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.lang.management.ThreadInfo
public class ThreadInfo
线程信息。ThreadInfo 包含关于线程的信息,包括:
Object.wait
调用中被通知。ThreadMXBean.isThreadContentionMonitoringSupported()
方法可用于确定 Java 虚拟机是否支持此功能。此线程信息类设计用于监视系统,不用于同步控制。
from
方法中指定属性的 CompositeData
。
ThreadMXBean.isThreadContentionMonitoringSupported()
方法摘要 | |
---|---|
static ThreadInfo |
from(CompositeData cd)
返回由给定 CompositeData 表示的 ThreadInfo 对象。 |
long |
getBlockedCount()
返回与此 ThreadInfo 相关的被阻塞的线程进入或重新进入监视器的总次数。 |
long |
getBlockedTime()
返回自从启用线程争用监视以来,与此 ThreadInfo 相关的线程被阻塞进入或重新进入监视器的近似累积时间(以毫秒为单位)。 |
String |
getLockName()
返回监视器锁定的字符串表示形式,与此 ThreadInfo 相关的线程被锁定进入或正等待通过 Object.wait 方法得到通知。 |
long |
getLockOwnerId()
返回线程的 ID,此线程保持对象的监视器锁定,该对象上与此 ThreadInfo 相关的线程被阻塞。 |
String |
getLockOwnerName()
返回线程的名称,此线程保持对象的监视器锁定,该对象上与此 ThreadInfo 相关的线程被阻塞。 |
StackTraceElement[] |
getStackTrace()
返回与此 ThreadInfo 相关的线程的堆栈跟踪。 |
long |
getThreadId()
返回与此 ThreadInfo 相关的线程的 ID。 |
String |
getThreadName()
返回与此 ThreadInfo 相关的线程的名称。 |
Thread.State |
getThreadState()
返回与此 ThreadInfo 相关的线程的状态。 |
long |
getWaitedCount()
返回与此 ThreadInfo 相关的线程等待通知的总次数。 |
long |
getWaitedTime()
返回自从启用线程争用监视以来,与此 ThreadInfo 相关的线程等待通知的近似累积时间(以毫秒为单位)。 |
boolean |
isInNative()
测试与此 ThreadInfo 相关的线程是否通过 Java 本机接口 (JNI) 执行本机代码。 |
boolean |
isSuspended()
测试与此 ThreadInfo 相关的线程是否被挂起。 |
String |
toString()
返回此线程信息的字符串表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
方法详细信息 |
---|
public long getThreadId()
public String getThreadName()
public Thread.State getThreadState()
public long getBlockedTime()
BLOCKED
状态的总累积时间。如果线程争用监视被禁用,此方法将返回 -1。
Java 虚拟机可能会使用高精度计时器测量时间。当重新启用线程争用监视时,将重置这个统计数据。
UnsupportedOperationException
- 如果 Java 虚拟机不支持此操作。ThreadMXBean.isThreadContentionMonitoringSupported()
,
ThreadMXBean.setThreadContentionMonitoringEnabled(boolean)
public long getBlockedCount()
BLOCKED
状态的次数。
public long getWaitedTime()
WAITING
或 TIMED_WAITING
状态的总累积时间。如果线程争用监视被禁用,此方法将返回 -1。
Java 虚拟机可能会使用高精度计时器测量时间。当重新启用线程争用监视时,将重置这个统计数据。
UnsupportedOperationException
- 如果 Java 虚拟机不支持此操作。ThreadMXBean.isThreadContentionMonitoringSupported()
,
ThreadMXBean.setThreadContentionMonitoringEnabled(boolean)
public long getWaitedCount()
WAITING
或 TIMED_WAITING
状态的次数。
public String getLockName()
Object.wait
方法得到通知。返回的监视器锁定字符串表示形式由以下内容组成:类(该对象是它的一个实例)名称、at 标记字符 '@' 和对象的 identity 哈希码的十六进制无符号表示形式。根据 System.identityHashCode(java.lang.Object)
方法的实现不同,返回的字符串可能不是惟一的。此方法返回的字符串等于以下表达式的值:
其中 lock 为监视器锁定对象。lock.getClass().getName() + '@' + Integer.toHexString(System.identityHashCode(lock))
如果线程没有被阻塞,可以进入任何监视对象,或者没有在监视器对象等待 Object.wait 调用中的通知,此方法将返回 null。
public long getLockOwnerId()
getLockName()
public String getLockOwnerName()
getLockName()
public StackTraceElement[] getStackTrace()
某些 Java 虚拟机在某些情况下可能会从堆栈跟踪中省略一个或多个堆栈帧。在极端情况下,没有关于与此 ThreadInfo 相关的线程的堆栈跟踪信息的虚拟机可以从该方法返回一个零长度数组。
public boolean isSuspended()
Thread.suspend()
方法,此方法将返回 true。
public boolean isInNative()
public String toString()
Object
中的 toString
public static ThreadInfo from(CompositeData cd)
属性名称 类型 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 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
cd
- 表示 ThreadInfo 的 CompositeData
IllegalArgumentException
- 如果 cd 不表示具有上述属性的 ThreadInfo。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。