|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.lang.ThreadGroup
public class ThreadGroup
執行緒組表示一個執行緒的集合。此外,執行緒組也可以包含其他執行緒組。執行緒組構成一棵階層樹,在階層樹中,除了初始執行緒組外,每個執行緒組都有一個父執行緒組。
允許執行緒存取有關自己的執行緒組的資訊,但是不允許它存取有關其執行緒組的父執行緒組或其他任何執行緒組的資訊。
建構子摘要 | |
---|---|
ThreadGroup(String name)
建構一個新執行緒組。 |
|
ThreadGroup(ThreadGroup parent,
String name)
創建一個新執行緒組。 |
方法摘要 | |
---|---|
int |
activeCount()
返回此執行緒組中活動執行緒的估計數。 |
int |
activeGroupCount()
返回此執行緒組中活動執行緒組的估計數。 |
boolean |
allowThreadSuspension(boolean b)
已過時。 此調用的定義取決於 suspend() ,它被廢棄了。更進一步地說,此調用的行為從不被指定。 |
void |
checkAccess()
確定當前運行的執行緒是否有權修改此執行緒組。 |
void |
destroy()
銷毀此執行緒組及其所有子組。 |
int |
enumerate(Thread[] list)
把此執行緒組及其子組中的所有活動執行緒複製到指定陣列中。 |
int |
enumerate(Thread[] list,
boolean recurse)
把此執行緒組中的所有活動執行緒複製到指定陣列中。 |
int |
enumerate(ThreadGroup[] list)
把對此執行緒組中的所有活動子組的參考複製到指定陣列中。 |
int |
enumerate(ThreadGroup[] list,
boolean recurse)
把對此執行緒組中的所有活動子組的參考複製到指定陣列中。 |
int |
getMaxPriority()
返回此執行緒組的最高優先級。 |
String |
getName()
返回此執行緒組的名稱。 |
ThreadGroup |
getParent()
返回此執行緒組的父執行緒組。 |
void |
interrupt()
中斷此執行緒組中的所有執行緒。 |
boolean |
isDaemon()
測試此執行緒組是否為一個後台程序執行緒組。 |
boolean |
isDestroyed()
測試此執行緒組是否已經被銷毀。 |
void |
list()
將有關此執行緒組的資訊列印到標準輸出。 |
boolean |
parentOf(ThreadGroup g)
測試此執行緒組是否為執行緒組參數或其祖先執行緒組之一。 |
void |
resume()
已過時。 此方法只用於聯合 Thread.suspend 和 ThreadGroup.suspend 時,因為它們所固有的容易導致死鎖的特性,所以兩者都已廢棄。有關詳細資訊,請參閱 Thread.suspend() 。 |
void |
setDaemon(boolean daemon)
更改此執行緒組的後台程序狀態。 |
void |
setMaxPriority(int pri)
設置執行緒組的最高優先級。 |
void |
stop()
已過時。 此方法具有固有的不安全性。有關詳細資訊,請參閱 Thread.stop() 。 |
void |
suspend()
已過時。 此方法容易導致死鎖。有關詳細資訊,請參閱 Thread.suspend() 。 |
String |
toString()
返回此執行緒組的字元串表示形式。 |
void |
uncaughtException(Thread t,
Throwable e)
當此執行緒組中的執行緒因為一個未捕獲的異常而停止,並且執行緒沒有安裝特定 Thread.UncaughtExceptionHandler 時,由 Java Virtual Machine 調用此方法。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
建構子詳細資訊 |
---|
public ThreadGroup(String name)
不使用任何參數調用父執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
name
- 新執行緒組的名稱。
SecurityException
- 如果當前執行緒不能在指定的執行緒組中創建執行緒。checkAccess()
public ThreadGroup(ThreadGroup parent, String name)
不使用任何參數調用父執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
parent
- 父執行緒組。name
- 新執行緒組的名稱。
NullPointerException
- 如果執行緒組參數為 null
。
SecurityException
- 如果當前執行緒不能在指定的執行緒組中創建執行緒。SecurityException
,
checkAccess()
方法詳細資訊 |
---|
public final String getName()
public final ThreadGroup getParent()
首先,如果父執行緒組不為 null
,則不使用任何參數直接調用父執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
null
的執行緒組。
SecurityException
- 如果當前執行緒無法修改此執行緒組。checkAccess()
,
SecurityException
,
RuntimePermission
public final int getMaxPriority()
setMaxPriority(int)
public final boolean isDaemon()
true
;否則返回 false
。public boolean isDestroyed()
public final void setDaemon(boolean daemon)
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
在停止後台程序執行緒組的最後一個執行緒或銷毀其最後一個執行緒組時,自動銷毀此後台程序執行緒組。
daemon
- 如果為 true
,則表示此執行緒組是一個後台程序執行緒組;否則,表示此執行緒組是一個普通執行緒組。
SecurityException
- 如果當前執行緒無法修改此執行緒組。SecurityException
,
checkAccess()
public final void setMaxPriority(int pri)
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
如果 pri
參數小於 Thread.MIN_PRIORITY
或大於 Thread.MAX_PRIORITY
,則執行緒組的最高優先級保持不變。
否則,此 ThreadGroup 物件的優先級被設置為比指定的 pri
參數更小,所允許的最高優先級是此執行緒組的父執行緒組的優先級。(如果此執行緒組是系統執行緒組,沒有父執行緒組,那麼只需將最高優先級設置為 pri
即可。)然後使用 pri
作為此方法的參數,以遞歸的方式對屬於此執行緒組的每個執行緒組調用此方法。
pri
- 執行緒組的新優先級。
SecurityException
- 如果當前執行緒無法修改此執行緒組。getMaxPriority()
,
SecurityException
,
checkAccess()
public final boolean parentOf(ThreadGroup g)
g
- 一個執行緒組。
true
;否則返回 false
。public final void checkAccess()
如果有安全管理器,則用此執行緒組作為其參數調用 checkAccess
方法。結果可能是拋出一個 SecurityException
。
SecurityException
- 如果不允許當前執行緒存取此執行緒組。SecurityManager.checkAccess(java.lang.ThreadGroup)
public int activeCount()
由於結果所固有的不精確特性,建議只將此方法用於資訊目的。
public int enumerate(Thread[] list)
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
應用程序可以使用 activeCount
方法獲取陣列大小的估計數,但是,如果陣列太小而無法保持所有執行緒,則忽略額外的執行緒。如果獲得此執行緒組及其子組中的所有活動執行緒非常重要,則調用方應該驗證返回的 int 值是否嚴格小於 list 的長度。
由於使用此方法所固有的競爭條件,建議只將此方法用於資訊目的。
list
- 放置執行緒列表的陣列。
SecurityException
- 如果不允許當前執行緒列舉此執行緒組。activeCount()
,
checkAccess()
public int enumerate(Thread[] list, boolean recurse)
recurse
標誌為 true
,則還包括對此執行緒的子組中的所有活動執行緒的參考。如果陣列太小而無法保持所有執行緒,則忽略額外的執行緒。
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
應用程序可以使用 activeCount
獲取陣列大小的估計數,但是,如果陣列太小而無法保持所有執行緒,則忽略額外的執行緒。如果獲得此執行緒組中的所有活動執行緒非常重要,則調用方應該驗證返回的整數值是否確實小於 list 的長度。
由於使用此方法所固有的競爭條件,建議只將此方法用於資訊目的。
list
- 放置執行緒列表的陣列。recurse
- 一個標記,指示是否還包括作為此執行緒組的子組的執行緒組中的執行緒。
SecurityException
- 如果不允許當前執行緒列舉此執行緒組。activeCount()
,
checkAccess()
public int activeGroupCount()
由於結果所固有的不精確特性,建議只將此方法用於資訊目的。
public int enumerate(ThreadGroup[] list)
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
應用程序可以使用 activeGroupCount
獲取陣列大小的估計數,但是,如果陣列太小而無法保持所有執行緒組,則忽略額外的執行緒組。如果獲得此執行緒組中的所有活動子組非常重要,則調用方應該驗證返回的整數值是否確實小於 list 的長度。
由於使用此方法所固有的競爭條件,建議只將此方法用於資訊目的。
list
- 放置執行緒組列表的陣列。
SecurityException
- 如果不允許當前執行緒列舉此執行緒組。activeGroupCount()
,
checkAccess()
public int enumerate(ThreadGroup[] list, boolean recurse)
recurse
標誌為 true
,則還包括對子組的所有活動子組的參考,等等。
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
應用程序可以使用 activeGroupCount
獲取陣列大小的估計數,但是,如果陣列太小而無法保持所有執行緒組,則忽略額外的執行緒組。如果獲得此執行緒組中的所有活動子組非常重要,則調用方應該驗證返回的整數值是否確實小於 list 的長度。
由於使用此方法所固有的競爭條件,建議只將此方法用於資訊目的。
list
- 放置執行緒列表的陣列。recurse
- 一個標記,指示是否以遞歸的方式列舉所有已包含的執行緒組。
SecurityException
- 如果不允許當前執行緒列舉此執行緒組。activeGroupCount()
,
checkAccess()
@Deprecated public final void stop()
Thread.stop()
。
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
然後,此方法將對此執行緒組及其所有子組中的所有執行緒調用 stop
方法。
SecurityException
- 如果不允許當前執行緒存取此執行緒組或執行緒組中的任何執行緒。SecurityException
,
Thread.stop()
,
checkAccess()
public final void interrupt()
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
然後,此方法將對此執行緒組及其所有子組中的所有執行緒調用 interrupt
方法。
SecurityException
- 如果不允許當前執行緒存取此執行緒組或執行緒組中的任何執行緒。Thread.interrupt()
,
SecurityException
,
checkAccess()
@Deprecated public final void suspend()
Thread.suspend()
。
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
然後,此方法將對該執行緒組及其所有子組中的所有執行緒調用 suspend
方法。
SecurityException
- 如果不允許當前執行緒存取此執行緒組或執行緒組中的任何執行緒。Thread.suspend()
,
SecurityException
,
checkAccess()
@Deprecated public final void resume()
Thread.suspend()
。
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
然後,此方法將對該執行緒組及其所有子組中的所有執行緒調用 resume
方法。
SecurityException
- 如果不允許當前執行緒存取此執行緒組或執行緒組中的任何執行緒。SecurityException
,
Thread.resume()
,
checkAccess()
public final void destroy()
首先,不使用任何參數調用此執行緒組的 checkAccess
方法;這可能導致一個安全性異常。
IllegalThreadStateException
- 如果執行緒組不為空,或者執行緒組已經被銷毀。
SecurityException
- 如果當前執行緒不能修改此執行緒組。checkAccess()
public void list()
public void uncaughtException(Thread t, Throwable e)
Thread.UncaughtExceptionHandler
時,由 Java Virtual Machine 調用此方法。
ThreadGroup
的 uncaughtException
方法執行以下操作:
uncaughtException
方法時帶有兩個相同的參數。
uncaughtException
方法時帶有兩個相同的參數。
Throwable
參數是否為一個 ThreadDeath
實例。如果是,則不會做任何特殊的操作。否則,在從執行緒的 getName
方法返回時,會使用 Throwable
的 printStackTrace
方法,將包含執行緒名稱的訊息和堆疊(stack)空間追蹤資訊輸出到標準錯誤串流。
應用程序可以覆寫 ThreadGroup
的子類別中的方法,以提供處理未捕獲異常的替代辦法。
Thread.UncaughtExceptionHandler
中的 uncaughtException
t
- 即將退出的執行緒。e
- 未捕獲的異常。@Deprecated public boolean allowThreadSuspension(boolean b)
suspend()
,它被廢棄了。更進一步地說,此調用的行為從不被指定。
b
- 允許或不允許掛起時的布林值
public String toString()
Object
中的 toString
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。