|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.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)
このスレッドグループがスレッドグループ引数であるか、あるいはその祖先スレッドグループの内の 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)
このスレッドグループ内のスレッドが、キャッチされていない例外のために停止し、スレッドに固有の Thread.UncaughtExceptionHandler が備えられていないときに、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 の長さ未満であることを確認する必要があります。
このメソッドの本質的な競合条件のため、このメソッドは情報目的だけに使用することをお勧めします。
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)
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 仮想マシンによって呼び出されます。
ThreadGroup の uncaughtException メソッドは以下を実行します。
uncaughtException メソッドは同じ 2 つの引数が指定されて呼び出されます。
uncaughtException メソッドが呼び出される
Throwable 引数が ThreadDeath のインスタンスであるかどうかを判定する。このインスタンスである場合は、特別なことは実行されない。このインスタンスではない場合、Throwable の printStackTrace メソッドを使用して、スレッドの getName メソッドから返されるスレッド名を含むメッセージとスタックバックトレースが標準エラーストリームに出力される
アプリケーションは、ThreadGroup のサブクラスでこのメソッドをオーバーライドして、キャッチされていない例外を別の方法で処理することができます。
Thread.UncaughtExceptionHandler 内の uncaughtExceptiont - 終了しようとしているスレッドe - キャッチされていない例外@Deprecated public boolean allowThreadSuspension(boolean b)
suspend() に依存します。また、この呼び出しの動作は指定されません。
b - 中断を可能または不可にする boolean
public String toString()
Object 内の toString
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。