| 
 | JavaTM 2 Platform Std. Ed. v1.4.0 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
java.lang.Object | +--java.lang.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)このスレッドグループがスレッドグループ引数であるか、あるいはその上位スレッドグループの内の 1 つであるかどうかを判定します。 | 
|  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()この ThreadGroup の文字列表現を返します。 | 
|  void | uncaughtException(Thread t,
                  Throwable e)このスレッドグループ内のスレッドが、キャッチされていない例外のために停止すると、Java 仮想マシンによって呼び出されます。 | 
| クラス 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, 
RuntimePermissionpublic final int getMaxPriority()
setMaxPriority(int)public final boolean isDaemon()
true、そうでない場合は falsepublic 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、そうでない場合は falsepublic final void checkAccess()
セキュリティマネージャが存在する場合、このグループがその引数として指定され、その checkAccess メソッドが呼び出されます。その結果、SecurityException がスローされることがあります。
SecurityException - 現在のスレッドがこのスレッドグループへのアクセスを許されていない場合SecurityManager.checkAccess(java.lang.ThreadGroup)public int activeCount()
public int enumerate(Thread[] list)
まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
アプリケーションは、配列をどの程度の大きさになるかについてのおおよその数を取得する場合は activeCount メソッドを使用する必要があります。配列が小さすぎてすべてのスレッドを保持できない場合、余分なスレッドは通知なしに無視されます。
list - スレッドのリストの格納先である配列
SecurityException - 現在のスレッドに、このスレッドグループを列挙するためのアクセス権がない場合activeCount(), 
checkAccess()
public int enumerate(Thread[] list,
                     boolean recurse)
recurse フラグが true である場合、このスレッドのサブグループ内の各アクティブスレッドへの参照も含まれます。配列が小さすぎてすべてのスレッドを保持できない場合、余分なスレッドは通知なしに無視されます。
まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
アプリケーションは、配列がどの程度の大きさになるかについてのおおよその数を取得する場合は activeCount メソッドを使用する必要があります。
list - スレッドのリストの格納先である配列recurse - このスレッドグループのサブグループであるスレッドグループ内のスレッドも含むかどうかを示すフラグ
SecurityException - 現在のスレッドに、このスレッドグループを列挙するためのアクセス権がない場合activeCount(), 
checkAccess()public int activeGroupCount()
public int enumerate(ThreadGroup[] list)
まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
アプリケーションは、配列がどの程度の大きさになるのかについてのおおよその数を取得する場合は、activeGroupCount メソッドを使用する必要があります。配列が小さすぎてすべてのスレッドグループを保持できない場合、余分なスレッドグループは通知なしに無視されます。
list - スレッドグループのリストの格納先の配列
SecurityException - 現在のスレッドに、このスレッドグループを列挙するためのアクセス権がない場合activeGroupCount(), 
checkAccess()
public int enumerate(ThreadGroup[] list,
                     boolean recurse)
recurse フラグが true である場合、サブグループなどのすべてのアクティブサブグループへの参照も含まれます。
まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
アプリケーションは、配列がどの程度の大きさになるのかについてのおおよその数を取得する場合は、activeGroupCount メソッドを使用する必要があります。
list - スレッドのリストの格納先である配列recurse - 含まれるすべてのスレッドグループを再帰的に列挙するかどうかを示すフラグ
SecurityException - 現在のスレッドに、このスレッドグループを列挙するためのアクセス権がない場合activeGroupCount(), 
checkAccess()public final void stop()
Thread.stop() を参照してください。
まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
次にこのメソッドは、このスレッドグループとそのすべてのサブグループ内のすべてのスレッドについて stop メソッドを呼び出します。
SecurityException - 現在のスレッドが、このスレッドグループまたはスレッドグループ内のスレッドへのアクセスを許可されない場合SecurityException, 
Thread.stop(), 
checkAccess()public final void interrupt()
まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
次にこのメソッドは、このスレッドグループとそのすべてのサブグループ内のすべてのスレッドについて interrupt メソッドを呼び出します。
SecurityException - 現在のスレッドが、このスレッドグループまたはスレッドグループ内のスレッドへのアクセスを許可されない場合Thread.interrupt(), 
SecurityException, 
checkAccess()public final void suspend()
Thread.suspend() を参照してください。
まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
次にこのメソッドは、このスレッドグループとそのすべてのサブグループ内のすべてのスレッドについて suspend メソッドを呼び出します。
SecurityException - 現在のスレッドが、このスレッドグループまたはスレッドグループ内のスレッドへのアクセスを許可されない場合Thread.suspend(), 
SecurityException, 
checkAccess()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)
ThreadGroup の uncaughtException メソッドは以下を実行します。
uncaughtException メソッドは同じ 2 つの引数が指定されて呼び出されます。
Throwable 引数が ThreadDeath のインスタンスであるかどうかを判定します。インスタンスである場合は、特別なことは実行されません。インスタンスではない場合は、スタックバックトレースを標準エラーストリームに出力するために Throwable の printStackTrace メソッドが呼び出されます。
アプリケーションは、ThreadGroup のサブクラスでこのメソッドをオーバーライドして、キャッチされていない例外を別の方法で処理することができます。
t - 終了しようとしているスレッドe - キャッチされていない例外System.err, 
ThreadDeath, 
Throwable.printStackTrace(java.io.PrintStream)public boolean allowThreadSuspension(boolean b)
suspend() に依存します。また、この呼び出しの動作は保証されません。
b - 中断を可能または不可にする boolean
public String toString()
Object 内の toString| 
 | JavaTM 2 Platform Std. Ed. v1.4.0 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
 Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
 Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A.  All Rights Reserved.