|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 Virtual Machine によって呼び出されます。 |
クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
コンストラクタの詳細 |
public ThreadGroup(String name)
親スレッドグループの checkAccess
メソッドが引数なしで呼び出されます。その結果、セキュリティ例外がスローされることがあります。
name
- 新しいスレッドグループ名checkAccess()
public ThreadGroup(ThreadGroup parent, String name)
親スレッドグループの checkAccess
メソッドは、引数なしで呼び出されます。この結果、セキュリティ例外が発生することがあります。
parent
- 親スレッドグループname
- 新しいスレッドグループ名null
である場合SecurityException
,
checkAccess()
メソッドの詳細 |
public final String getName()
public final ThreadGroup getParent()
親が null
でない場合、最初に親スレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
null
であるスレッドグループは、最上位のスレッドグループだけですcheckAccess()
public final int getMaxPriority()
public final boolean isDaemon()
true
、そうでない場合は false
public boolean isDestroyed()
public final void setDaemon(boolean daemon)
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
デーモンスレッドグループは、その最後のスレッドが停止する場合、またはその最後のスレッドグループが破棄される場合に自動的に破棄されます。
daemon
- true
の場合は、このスレッドグループをデーモンスレッドグループとしてマークし、true でない場合は、このスレッドグループを一般のものとしてマークするSecurityException
,
checkAccess()
public final void setMaxPriority(int pri)
最初に、このスレッドグループの checkAccess
が、引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
すでにさらに高い優先順位が指定されているスレッドグループ内のスレッドは影響を受けません。
pri
- スレッドグループの新しい優先順位SecurityException
,
checkAccess()
public final boolean parentOf(ThreadGroup g)
g
- スレッドグループtrue
、そうでない場合は false
public final void checkAccess()
セキュリティマネージャが存在する場合、このグループがその引数として指定され、その checkAccess
メソッドが呼び出されます。その結果、SecurityException
がスローされることがあります。
SecurityManager.checkAccess(java.lang.ThreadGroup)
public int activeCount()
public int enumerate(Thread[] list)
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
アプリケーションは、配列をどの程度の大きさになるかについてのおおよその数を取得する場合は activeCount
メソッドを使用する必要があります。配列が小さすぎてすべてのスレッドを保持できない場合、余分なスレッドは通知なしに無視されます。
list
- スレッドのリストの格納先の配列activeCount()
,
checkAccess()
public int enumerate(Thread[] list, boolean recurse)
recurse
フラグが true
である場合、このスレッドのサブグループ内の各アクティブスレッドへの参照も含まれます。配列が小さすぎてすべてのスレッドを保持できない場合、余分なスレッドは通知なしに無視されます。
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
アプリケーションは、配列がどの程度の大きさになるかについてのおおよその数を取得する場合は activeCount
メソッドを使用する必要があります。
list
- スレッドのリストの格納先の配列recurse
- このスレッドグループのサブグループであるスレッドグループ内のスレッドも含むかどうかを示すフラグactiveCount()
,
checkAccess()
public int activeGroupCount()
public int enumerate(ThreadGroup[] list)
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
アプリケーションは、配列がどの程度の大きさになるのかについてのおおよその数を取得する場合は、activeGroupCount メソッドを使用する必要があります。配列が小さすぎてすべてのスレッドグループを保持できない場合、余分なスレッドグループは通知なしに無視されます。
list
- スレッドグループのリストの格納先の配列activeGroupCount()
,
checkAccess()
public int enumerate(ThreadGroup[] list, boolean recurse)
recurse
フラグが true
である場合、サブグループなどのすべてのアクティブサブグループへの参照も含まれます。
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
アプリケーションは、配列がどの程度の大きさになるのかについてのおおよその数を取得する場合は、activeGroupCount
メソッドを使用する必要があります。
list
- スレッドのリストの格納先である配列recurse
- 含まれるすべてのスレッドグループを再帰的に列挙するかどうかを示すフラグactiveGroupCount()
,
checkAccess()
public final void stop()
Thread.stop()
を参照してください。
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
次にこのメソッドは、このスレッドグループとそのすべてのサブグループ内のすべてのスレッドについて stop
メソッドを呼び出します。
SecurityException
,
Thread.stop()
,
checkAccess()
public final void interrupt()
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
次にこのメソッドは、このスレッドグループとそのすべてのサブグループ内のすべてのスレッドについて interrupt
メソッドを呼び出します。
Thread.interrupt()
,
SecurityException
,
checkAccess()
public final void suspend()
Thread.suspend()
を参照してください。
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
suspend メソッドを呼び出します。
Thread.suspend()
,
SecurityException
,
checkAccess()
public final void resume()
Thread.suspend()
を参照してください。
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
次にこのメソッドは、このスレッドグループとそのすべてのサブグループ内のすべてのスレッドについて resume
メソッドを呼び出します。
SecurityException
,
Thread.resume()
,
checkAccess()
public final void destroy()
まず、このスレッドグループの checkAccess
メソッドが引数なしで呼び出されます。この結果、セキュリティ例外がスローされることがあります。
checkAccess()
public void list()
public void uncaughtException(Thread t, Throwable e)
ThreadGroup の uncaughtException
メソッドは以下を実行します。
uncaughtException
メソッドは同じ 2 つの引数が指定されて呼び出されます。
Throwable
引数が ThreadDeath
のインスタンスであるかどうかを判定します。インスタンスである場合は、特別なことは実行されません。インスタンスではない場合は、スタックバックトレースを標準エラーストリームに出力するために ThreadDeath
の printStackTrace
メソッドが呼び出されます。
アプリケーションは、ThreadGroup
のサブクラスでこのメソッドをオーバーライドして、キャッチされていない例外を別の方法で処理することができます。
t
- 終了しようとしているスレッドe
- キャッチされていない例外System.err
,
ThreadDeath
,
Throwable.printStackTrace(java.io.PrintStream)
public boolean allowThreadSuspension(boolean b)
suspend()
に依存します。また、この呼び出しの動作は保証されません。public String toString()
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |