|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.lang.management.ThreadInfo
public class ThreadInfo
執行緒資訊。ThreadInfo 套件含有關執行緒的資訊,包括:
Object.wait
方法的通知,或者LockSupport.park
調用而暫停。執行緒爭用監視
開始,由於同步或等待通知而阻塞執行緒的累計時間。某些 Java 虛擬機器實作可能不支持此功能。ThreadMXBean.isThreadContentionMonitoringSupported()
方法可用於確定 Java 虛擬機器是否支持此功能。此執行緒資訊類別設計用於監視系統,不用於同步控制。
from
方法中指定屬性的 CompositeData
。
ThreadMXBean.getThreadInfo(long)
,
ThreadMXBean.dumpAllThreads(boolean, boolean)
方法摘要 | |
---|---|
static ThreadInfo |
from(CompositeData cd)
返回由給定 CompositeData 表示的 ThreadInfo 物件。 |
long |
getBlockedCount()
返回與此 ThreadInfo 關聯的執行緒被阻塞進入或重進入監視器的總次數。 |
long |
getBlockedTime()
返回自從啟用執行緒爭用監視以來,與此 ThreadInfo 關聯的執行緒被阻塞進入或重進入監視器的近似累計時間(以毫秒為單位)。 |
MonitorInfo[] |
getLockedMonitors()
返回 MonitorInfo 物件陣列,每個陣列元素表示關聯此 ThreadInfo 的執行緒當前鎖定的物件監視器。 |
LockInfo[] |
getLockedSynchronizers()
返回 LockInfo 物件陣列,每個陣列元素表示關聯此 ThreadInfo 的執行緒當前鎖定的可擁有同步器。 |
LockInfo |
getLockInfo()
返回物件的 LockInfo,與此 ThreadInfo 關聯的執行緒被阻塞並等待該物件。 |
String |
getLockName()
返回物件的 字元串表示形式 ,與此 ThreadInfo 關聯的執行緒被鎖定並等待該物件。 |
long |
getLockOwnerId()
返回擁有對象的執行緒的 ID,與此 ThreadInfo 關聯的執行緒被阻塞並等待該物件。 |
String |
getLockOwnerName()
返回擁有對象的執行緒的名稱,與此 ThreadInfo 關聯的執行緒被阻塞並等待該物件。 |
StackTraceElement[] |
getStackTrace()
返回與此 ThreadInfo 關聯的執行緒的堆疊(stack)空間追蹤。 |
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 LockInfo getLockInfo()
BLOCKED
狀態,等待進入 synchronized 語句或方法。
Object.wait
方法,執行緒處於 WAITING
或 TIMED_WAITING
狀態。
LockSupport.park
方法,執行緒處於 WAITING
或 TIMED_WAITING
狀態。同步物件是從 LockSupport.getBlocker
方法返回的物件。通常,它是一個可擁有同步器或 Condition
。
如果執行緒不處於以上任何狀態之一,那麼此方法返回 null。
public String getLockName()
字元串表示形式
,與此 ThreadInfo 關聯的執行緒被鎖定並等待該物件。此方法等效於調用:
getLockInfo().toString()
如果此執行緒沒有被阻塞並等待任何物件,或者沒有任何執行緒擁有該物件,那麼此方法將返回 null。
getLockInfo()
public long getLockOwnerId()
getLockInfo()
public String getLockOwnerName()
getLockInfo()
public StackTraceElement[] getStackTrace()
某些 Java 虛擬機器在某些情況下可能會從堆疊(stack)空間追蹤中忽略一個或多個堆疊(stack)訊框。在極端情況下,沒有關於此 ThreadInfo 關聯執行緒堆疊(stack)空間追蹤資訊的虛擬機器可以從此方法返回一個長度為 0 的陣列。
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 lockInfo javax.management.openmbean.CompositeData - MXBean 型別映射規則中指定的 LockInfo
的映射型別。如果 cd 不包含此屬性,則將根據 lockName 屬性的值建構 LockInfo 物件。
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 javax.management.openmbean.CompositeData[],其元素型別是 MonitorInfo
的映射型別,MonitorInfo 在Monitor.from
方法中指定。如果 cd 不包含此屬性,那麼此屬性將被設置為空陣列。
lockedSynchronizers javax.management.openmbean.CompositeData[],其元素是 LockInfo
的映射型別,LockInfo 在 MXBean 的型別映射規則中指定。如果 cd 不包含此屬性,那麼此屬性將被設置為空陣列。
cd
- 表示 ThreadInfo 的 CompositeData
IllegalArgumentException
- 如果 cd 不表示具有上述屬性的 ThreadInfo。public MonitorInfo[] getLockedMonitors()
MonitorInfo
物件陣列,每個陣列元素表示關聯此 ThreadInfo 的執行緒當前鎖定的物件監視器。
如果沒有為此執行緒資訊請求任何鎖定的監視器,或者執行緒沒有鎖定任何監視器,那麼此方法返回長度為 0 的陣列。
public LockInfo[] getLockedSynchronizers()
LockInfo
物件陣列,每個陣列元素表示關聯此 ThreadInfo 的執行緒當前鎖定的可擁有同步器。
如果沒有為此執行緒資訊請求任何鎖定的同步器,或者執行緒沒有鎖定任何同步器,那麼此方法返回長度為 0 的陣列。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。