|
JavaTM 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)
このスレッドグループがスレッドグループ引数であるか、あるいはその祖先スレッドグループの内の 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
,
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
メソッドを使用する場合があります。 ただし、配列が小さすぎてすべてのスレッドを保持できない場合、余分なスレッドは通知なしに無視されます。このスレッドグループとそのサブグループにあるすべてのアクティブスレッドを取得することが重要な場合、呼び出し側は返された整数値が厳密に 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
内の uncaughtException
t
- 終了しようとしているスレッド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 も参照してください。