Module  java.management
软件包  java.lang.management

Class ThreadInfo

    • 方法详细信息

      • 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相关联的线程等待通知的大致累积经过时间(以毫秒为单位),因为启用了线程争用监控。 即线程争用监控启用后,线程已经处于WAITINGTIMED_WAITING状态的总累计时间。 如果线程争用监控被禁用,此方法返回-1

        Java虚拟机可以使用高分辨率定时器来测量时间。 当重新启用线程争用监控时,此统计信息将重置。

        结果
        线程已处于WAITINGTIMED_WAITING状态的大致累计消耗时间(以毫秒为单位); -1如果线程争用监控被禁用。
        异常
        UnsupportedOperationException - 如果Java虚拟机不支持此操作。
        另请参见:
        ThreadMXBean.isThreadContentionMonitoringSupported()ThreadMXBean.setThreadContentionMonitoringEnabled(boolean)
      • getWaitedCount

        public long getWaitedCount​()
        返回与此ThreadInfo关联的线程等待通知的总次数。 即线程在WAITINGTIMED_WAITING状态下的次数。
        结果
        线程在 WAITINGTIMED_WAITING状态的总次数。
      • getLockInfo

        public LockInfo getLockInfo​()
        返回LockInfo ,与此相关的线程的对象的ThreadInfo被阻塞等待。 一个线程可以被阻止等待以下之一:

        该方法返回null如果线程不在上述任何一种情况。

        结果
        LockInfo的线程被阻塞等待的对象; 否则为null
        从以下版本开始:
        1.6
      • getLockName

        public String getLockName​()
        返回string representation ,与此相关的线程的对象的ThreadInfo被阻塞等待。 这个方法相当于调用:
         getLockInfo().toString()
         

        此方法将返回null如果此线程不阻塞等待任何对象或者对象不是任何线程所有。

        结果
        线程阻塞的对象的字符串表示; 否则为null
        另请参见:
        getLockInfo()
      • getLockOwnerId

        public long getLockOwnerId​()
        返回拥有与此ThreadInfo相关联的线程被阻止等待的对象的线程的ID。 此方法将返回-1如果此线程不阻塞等待任何对象,或者该对象不是任何线程所有。
        结果
        该线程被阻止的对象的所有者线程的线程ID; -1如果此线程未被阻止或者该对象不是任何线程所有。
        另请参见:
        getLockInfo()
      • getLockOwnerName

        public String getLockOwnerName​()
        返回拥有与此ThreadInfo相关联的线程被阻止等待的对象的线程的名称。 此方法将返回null如果此线程不阻塞等待任何对象,或者该对象不是任何线程所有。
        结果
        拥有该线程被阻止的对象的线程的名称; null如果此线程未被阻止或者对象不是任何线程所有。
        另请参见:
        getLockInfo()
      • getStackTrace

        public StackTraceElement[] getStackTrace​()
        返回与该ThreadInfo相关联的线程的堆栈跟踪。 如果没有为此线程信息请求堆栈跟踪,则此方法将返回零长度数组。 如果返回的数组非零长度,则数组的第一个元素表示堆栈的顶部,这是序列中最近的方法调用。 数组的最后一个元素表示堆栈的底部,这是序列中最近最少的方法调用。

        在某些情况下,某些Java虚拟机可能会从堆栈跟踪中省略一个或多个堆栈帧。 在极端情况下,允许没有关于与该ThreadInfo相关联的线程的堆栈跟踪信息的虚拟机从该方法返回零长度数组。

        结果
        一个数组的 StackTraceElement对象的线程。
      • isSuspended

        public boolean isSuspended​()
        测试与此ThreadInfo相关联的线程是否暂停。 如果调用了Thread.suspend()此方法返回true
        结果
        true如果线程暂停; false否则。
      • isInNative

        public boolean isInNative​()
        测试与此ThreadInfo相关联的线程是否通过Java Native Interface(JNI)执行本机代码。 JNI本机代码不包括虚拟机支持代码或虚拟机生成的已编译本机代码。
        结果
        true如果线程正在执行本机代码; false否则。
      • isDaemon

        public boolean isDaemon​()
        测试与此 ThreadInfo相关联的线程是否为 daemon thread
        结果
        true如果线程是守护线程,否则为 false
        从以下版本开始:
        9
        另请参见:
        Thread.isDaemon()
      • getPriority

        public int getPriority​()
        返回 thread priority与此相关的线程 ThreadInfo
        结果
        与此 ThreadInfo相关联的线程的优先级。
        从以下版本开始:
        9
      • toString

        public String toString​()
        返回此线程信息的字符串表示形式。 此字符串的格式取决于实现。 返回的字符串将通常包括thread name ,该thread ID ,其statestack trace (如有)。
        重写:
        toStringObject
        结果
        这个线程信息的字符串表示形式。
      • from

        public static ThreadInfo from​(CompositeData cd)
        返回由给定的CompositeData表示的ThreadInfo对象。 给定的CompositeData必须包含以下属性,除非另有规定:
        The attributes and their types the given CompositeData contains
        Attribute Name Type
        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 - the mapped type for LockInfo as specified in the LockInfo.from(javax.management.openmbean.CompositeData) method.

        If cd does not contain this attribute, the LockInfo object will be constructed from the value of the lockName attribute.

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

        Each element is a CompositeData representing StackTraceElement containing the following attributes:

        The attributes and their types the given CompositeData contains
        Attribute Name Type
        moduleName java.lang.String
        moduleVersion java.lang.String
        className java.lang.String
        methodName java.lang.String
        fileName java.lang.String
        lineNumber java.lang.Integer
        nativeMethod java.lang.Boolean
        lockedMonitors javax.management.openmbean.CompositeData[] whose element type is the mapped type for MonitorInfo as specified in the Monitor.from method.

        If cd does not contain this attribute, this attribute will be set to an empty array.

        lockedSynchronizers javax.management.openmbean.CompositeData[] whose element type is the mapped type for LockInfo as specified in the LockInfo.from(javax.management.openmbean.CompositeData) method.

        If cd does not contain this attribute, this attribute will be set to an empty array.

        daemon java.lang.Boolean
        priority java.lang.Integer
        参数
        cd - CompositeData代表 ThreadInfo
        结果
        一个ThreadInfo对象由cd表示,如果cd不是null ; null否则。
        异常
        IllegalArgumentException - 如果 cd不表示具有上述属性的 ThreadInfo
      • getLockedMonitors

        public MonitorInfo[] getLockedMonitors​()
        返回一个MonitorInfo对象的数组,每个对象表示当前由与此ThreadInfo相关联的线程锁定的对象监视器。 如果没有为此线程信息请求锁定的监视器,或者线程未锁定监视器,则此方法将返回零长度的数组。
        结果
        表示由线程锁定的对象监视器的 MonitorInfo对象的数组。
        从以下版本开始:
        1.6
      • getLockedSynchronizers

        public LockInfo[] getLockedSynchronizers​()
        返回的数组LockInfo对象,每个对象的表示ownable synchronizer当前由与此相关联的线程锁定ThreadInfo 如果没有为此线程信息请求锁定的同步器,或线程未锁定同步器,则此方法将返回零长度的数组。
        结果
        一组 LockInfo对象,表示线程锁定的自己的同步器。
        从以下版本开始:
        1.6