|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.management
类 ThreadInfo
java.lang.Object java.lang.management.ThreadInfo
-
public class ThreadInfo
- extends Object
线程信息。ThreadInfo 包含关于线程的信息,包括:
常规线程信息
- 线程 ID。
- 线程名称。
执行信息
- 线程状态。
- 线程在其上阻塞的对象等待进入同步块或等待在
Object.wait
调用中被通知。 - 拥有阻塞线程对象的线程的 ID。
- 线程的堆栈跟踪。
同步统计数据
- 由于同步或等待通知而阻塞线程的次数。
- 自从启动线程争用监视以来,由于同步或等待通知而阻塞线程的累积时间。某些 Java 虚拟机实现可能不支持此功能。
ThreadMXBean.isThreadContentionMonitoringSupported()
方法可用于确定 Java 虚拟机是否支持此功能。
此线程信息类设计用于监视系统,不用于同步控制。
MXBean 映射
ThreadInfo 映射到一个具有from
方法中指定属性的 CompositeData
。
- 从以下版本开始:
- 1.5
- 另请参见:
-
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 |
方法详细信息 |
---|
getThreadId
public long getThreadId()
- 返回与此 ThreadInfo 相关的线程的 ID。
-
- 返回:
- 相关线程的 ID。
getThreadName
public String getThreadName()
- 返回与此 ThreadInfo 相关的线程的名称。
-
- 返回:
- 相关线程的名称。
getThreadState
public Thread.State getThreadState()
- 返回与此 ThreadInfo 相关的线程的状态。
-
- 返回:
- 相关线程的 Thread.State。
getBlockedTime
public long getBlockedTime()
-
返回自从启用线程争用监视以来,与此 ThreadInfo 相关的线程被阻塞进入或重新进入监视器的近似累积时间(以毫秒为单位)。即自从上次启用线程争用监视以来线程处于
BLOCKED
状态的总累积时间。如果线程争用监视被禁用,此方法将返回 -1。Java 虚拟机可能会使用高精度计时器测量时间。当重新启用线程争用监视时,将重置这个统计数据。
-
- 返回:
- 线程进入 BLOCKED 状态的近似累积时间(以毫秒为单位);如果禁用了线程争用监视,则返回 -1。
- 抛出:
-
UnsupportedOperationException
- 如果 Java 虚拟机不支持此操作。 - 另请参见:
-
ThreadMXBean.isThreadContentionMonitoringSupported()
,ThreadMXBean.setThreadContentionMonitoringEnabled(boolean)
getBlockedCount
public long getBlockedCount()
-
返回与此 ThreadInfo 相关的被阻塞的线程进入或重新进入监视器的总次数。即线程为
BLOCKED
状态的次数。 -
- 返回:
- 线程进入 BLOCKED 状态的总次数。
getWaitedTime
public long getWaitedTime()
-
返回自从启用线程争用监视以来,与此 ThreadInfo 相关的线程等待通知的近似累积时间(以毫秒为单位)。即自从启用线程争用监视以来,线程为
WAITING
或TIMED_WAITING
状态的总累积时间。如果线程争用监视被禁用,此方法将返回 -1。Java 虚拟机可能会使用高精度计时器测量时间。当重新启用线程争用监视时,将重置这个统计数据。
-
- 返回:
- 线程为 WAITING 或 TIMED_WAITING 状态的近似累积时间(以毫秒为单位);如果禁用了线程争用监视,则返回 -1。
- 抛出:
-
UnsupportedOperationException
- 如果 Java 虚拟机不支持此操作。 - 另请参见:
-
ThreadMXBean.isThreadContentionMonitoringSupported()
,ThreadMXBean.setThreadContentionMonitoringEnabled(boolean)
getWaitedCount
public long getWaitedCount()
-
返回与此 ThreadInfo 相关的线程等待通知的总次数。即线程为
WAITING
或TIMED_WAITING
状态的次数。 -
- 返回:
- 线程为 WAITING 或 TIMED_WAITING 状态的总次数。