Foundation 1.1.2

java.lang
クラス ThreadGroup

java.lang.Object
  上位を拡張 java.lang.ThreadGroup

public class ThreadGroup
extends Object

スレッドグループは、スレッドの集合を表します。さらに、スレッドグループにはほかのスレッドグループが含まれることもあります。スレッドグループはツリーを形成し、最初のスレッドグループを除いてその中で親を持ちます。  

スレッドは、それ自体のスレッドグループについての情報にアクセスすることを許可されていますが、そのスレッドグループの親スレッドグループまたはその他のスレッドグループについての情報にアクセスすることはできません。

導入されたバージョン:
JDK1.0

コンストラクタの概要
ThreadGroup(String name)
          新しいスレッドグループを構築します。
ThreadGroup(ThreadGroup parent, String name)
          新しいスレッドグループを作成します。
 
メソッドの概要
 int activeCount()
          このスレッドグループ内のアクティブスレッドのおおよその数を返します。
 int activeGroupCount()
          このスレッドグループ内のアクティブグループのおおよその数を返します。
 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 setDaemon(boolean daemon)
          このスレッドグループのデーモンの状態を変更します。
 void setMaxPriority(int pri)
          グループの最高優先順位を設定します。
 String toString()
          この ThreadGroup の文字列表現を返します。
 void uncaughtException(Thread t, Throwable e)
          このスレッドグループ内のスレッドが、キャッチされていない例外のために停止すると、Java 仮想マシンによって呼び出されます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

ThreadGroup

public ThreadGroup(String name)
新しいスレッドグループを構築します。この新しいグループの親が、現在実行中のスレッドのスレッドグループです。  

親スレッドグループの checkAccess メソッドは、引数なしで呼び出されます。この結果、セキュリティー例外が発生することがあります。

パラメータ:
name - 新しいスレッドグループの名前
例外:
SecurityException - 現在のスレッドが、指定されたスレッドグループ内のスレッドを作成できない場合
導入されたバージョン:
JDK1.0
関連項目:
checkAccess()

ThreadGroup

public ThreadGroup(ThreadGroup parent,
                   String name)
新しいスレッドグループを作成します。この新しいグループの親が、指定されたスレッドグループです。  

親スレッドグループの checkAccess メソッドは、引数なしで呼び出されます。この結果、セキュリティー例外が発生することがあります。

パラメータ:
parent - 親のスレッドグループ
name - 新しいスレッドグループの名前
例外:
NullPointerException - スレッドグループの引数が null の場合
SecurityException - 現在のスレッドが、指定されたスレッドグループ内のスレッドを作成できない場合
導入されたバージョン:
JDK1.0
関連項目:
SecurityException, checkAccess()
メソッドの詳細

getName

public final String getName()
このスレッドグループの名前を返します。

戻り値:
このスレッドグループの名前
導入されたバージョン:
JDK1.0

getParent

public final ThreadGroup getParent()
このスレッドグループの親を返します。  

親が null でない場合、最初に親スレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティー例外がスローされることがあります。

戻り値:
このスレッドグループの親。親が null であるスレッドグループは、トップレベルのスレッドグループのみ
例外:
SecurityException - 現在のスレッドがこのスレッドグループを変更できない場合
導入されたバージョン:
JDK1.0
関連項目:
checkAccess(), SecurityException, RuntimePermission

getMaxPriority

public final int getMaxPriority()
このスレッドグループの最高優先順位を返します。このグループの一部であるスレッドに、最高優先順位より高い優先順位を指定することはできません。

戻り値:
このスレッドグループ内のスレッドに指定できる最高優先順位
導入されたバージョン:
JDK1.0
関連項目:
setMaxPriority(int)

isDaemon

public final boolean isDaemon()
このスレッドグループがデーモンスレッドグループであるかどうかを判定します。デーモンスレッドグループは、その最後のスレッドが停止する場合、またはその最後のスレッドグループが破棄される場合に自動的に破棄されます。

戻り値:
このスレッドグループがデーモンスレッドグループである場合は true、そうでない場合は false
導入されたバージョン:
JDK1.0

isDestroyed

public boolean isDestroyed()
このスレッドグループが破棄されたかどうかを判定します。

戻り値:
このオブジェクトが破棄されている場合は true
導入されたバージョン:
JDK1.1

setDaemon

public final void setDaemon(boolean daemon)
このスレッドグループのデーモンの状態を変更します。  

まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティー例外がスローされることがあります。  

デーモンスレッドグループは、その最後のスレッドが停止する場合、またはその最後のスレッドグループが破棄される場合に自動的に破棄されます。

パラメータ:
daemon - true の場合は、このスレッドグループをデーモンスレッドグループとしてマークし、そうでない場合は、このスレッドグループを一般のものとしてマークする
例外:
SecurityException - 現在のスレッドがこのスレッドグループを変更できない場合
導入されたバージョン:
JDK1.0
関連項目:
SecurityException, checkAccess()

setMaxPriority

public final void setMaxPriority(int pri)
グループの最高優先順位を設定します。すでにさらに高い優先順位が指定されているスレッドグループ内のスレッドは影響を受けません。  

まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティー例外がスローされることがあります。  

pri 引数の値が Thread.MIN_PRIORITY より小さいか、Thread.MAX_PRIORITY より大きい場合、グループの最高優先順位は変更されません。  

それ以外の場合、この ThreadGroup オブジェクトの優先順位は、指定された pri およびこのスレッドグループの親に許可される最高優先順位より低く設定されます (このスレッドグループが、親を持たないシステムスレッドグループの場合、その最高優先順位は pri だけに設定される)。その後、このスレッドグループに属するスレッドグループごとに、このメソッドが pri を引数として再帰的に呼び出されます。

パラメータ:
pri - スレッドグループの新しい優先順位
例外:
SecurityException - 現在のスレッドがこのスレッドグループを変更できない場合
導入されたバージョン:
JDK1.0
関連項目:
getMaxPriority(), SecurityException, checkAccess()

parentOf

public final boolean parentOf(ThreadGroup g)
このスレッドグループがスレッドグループ引数であるか、あるいはその祖先スレッドグループの内の 1 つであるかどうかを判定します。

パラメータ:
g - スレッドグループ
戻り値:
このスレッドグループがスレッドグループ引数であるか、またはその祖先スレッドグループの内の 1 つである場合は true、そうでない場合は false
導入されたバージョン:
JDK1.0

checkAccess

public final void checkAccess()
現在実行中のスレッドがこのスレッドグループを変更するアクセス権を持っているかどうかを判定します。  

セキュリティーマネージャーが存在する場合、このグループがその引数として指定され、その checkAccess メソッドが呼び出されます。その結果、SecurityException がスローされることがあります。

例外:
SecurityException - 現在のスレッドがこのスレッドグループへのアクセスを許されていない場合
導入されたバージョン:
JDK1.0
関連項目:
SecurityManager.checkAccess(java.lang.ThreadGroup)

activeCount

public int activeCount()
このスレッドグループ内のアクティブスレッドのおおよその数を返します。

戻り値:
このスレッドグループ内、またはこのスレッドグループを祖先に持つその他のスレッドグループ内のアクティブスレッドの数
導入されたバージョン:
JDK1.0

enumerate

public int enumerate(Thread[] list)
このスレッドグループとそのサブグループ内の各アクティブスレッドを、指定された配列にコピーします。  

まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティー例外がスローされることがあります。  

アプリケーションは、配列がどの程度の大きさになるかについてのおおよその数を取得する場合は activeCount メソッドを使用する必要があります。配列が小さすぎてすべてのスレッドを保持できない場合、余分なスレッドは通知なしに無視されます。

パラメータ:
list - スレッドのリストの格納先である配列
戻り値:
配列に格納されるスレッド数
例外:
SecurityException - 現在のスレッドに、このスレッドグループを列挙するためのアクセス権がない場合
導入されたバージョン:
JDK1.0
関連項目:
activeCount(), checkAccess()

enumerate

public int enumerate(Thread[] list,
                     boolean recurse)
このスレッドグループ内の各アクティブスレッドを、指定された配列にコピーします。recurse フラグが true である場合、このスレッドのサブグループ内の各アクティブスレッドへの参照も含まれます。配列が小さすぎてすべてのスレッドを保持できない場合、余分なスレッドは通知なしに無視されます。  

まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティー例外がスローされることがあります。  

アプリケーションは、配列がどの程度の大きさになるかについてのおおよその数を取得する場合は activeCount メソッドを使用する必要があります。

パラメータ:
list - スレッドのリストの格納先である配列
recurse - このスレッドグループのサブグループであるスレッドグループ内のスレッドも含むかどうかを示すフラグ
戻り値:
配列に格納されるスレッド数
例外:
SecurityException - 現在のスレッドに、このスレッドグループを列挙するためのアクセス権がない場合
導入されたバージョン:
JDK1.0
関連項目:
activeCount(), checkAccess()

activeGroupCount

public int activeGroupCount()
このスレッドグループ内のアクティブグループのおおよその数を返します。

戻り値:
このスレッドグループを祖先に持つアクティブスレッドグループの数
導入されたバージョン:
JDK1.0

enumerate

public int enumerate(ThreadGroup[] list)
このスレッドグループ内の各アクティブサブグループへの参照を、指定された配列にコピーします。  

まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティー例外がスローされることがあります。  

アプリケーションは、配列がどの程度の大きさになるのかについてのおおよその数を取得する場合は、activeGroupCount メソッドを使用する必要があります。配列が小さすぎてすべてのスレッドグループを保持できない場合、余分なスレッドグループは通知なしに無視されます。

パラメータ:
list - スレッドグループのリストの格納先の配列
戻り値:
配列に格納されるスレッドグループ数
例外:
SecurityException - 現在のスレッドに、このスレッドグループを列挙するためのアクセス権がない場合
導入されたバージョン:
JDK1.0
関連項目:
activeGroupCount(), checkAccess()

enumerate

public int enumerate(ThreadGroup[] list,
                     boolean recurse)
このスレッドグループ内の各アクティブサブグループへの参照を、指定された配列にコピーします。recurse フラグが true である場合、サブグループなどのすべてのアクティブサブグループへの参照も含まれます。  

まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティー例外がスローされることがあります。  

アプリケーションは、配列がどの程度の大きさになるのかについてのおおよその数を取得する場合は、activeGroupCount メソッドを使用する必要があります。

パラメータ:
list - スレッドのリストの格納先である配列
recurse - 含まれるすべてのスレッドグループを再帰的に列挙するかどうかを示すフラグ
戻り値:
配列に格納されるスレッドグループ数
例外:
SecurityException - 現在のスレッドに、このスレッドグループを列挙するためのアクセス権がない場合
導入されたバージョン:
JDK1.0
関連項目:
activeGroupCount(), checkAccess()

interrupt

public final void interrupt()
このスレッドグループ内のすべてのスレッドに割り込みます。  

まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティー例外がスローされることがあります。  

次にこのメソッドは、このスレッドグループとそのすべてのサブグループ内のすべてのスレッドについて interrupt メソッドを呼び出します。

例外:
SecurityException - 現在のスレッドが、このスレッドグループまたはスレッドグループ内のスレッドへのアクセスを許可されない場合
導入されたバージョン:
1.2
関連項目:
Thread.interrupt(), SecurityException, checkAccess()

destroy

public final void destroy()
このスレッドグループとそのサブグループのすべてを破棄します。このスレッドグループ内にあったすべてのスレッドが停止されていること、つまり、このスレッドグループが空である必要があります。  

まず、このスレッドグループの checkAccess メソッドが引数なしで呼び出されます。この結果、セキュリティー例外がスローされることがあります。

例外:
IllegalThreadStateException - スレッドグループが空ではない場合、またはスレッドグループがすでに破棄されている場合
SecurityException - 現在のスレッドがこのスレッドグループを変更できない場合
導入されたバージョン:
JDK1.0
関連項目:
checkAccess()

list

public void list()
このスレッドグループについての情報を標準出力に出力します。このメソッドはデバッグの場合にだけ役立ちます。

導入されたバージョン:
JDK1.0

uncaughtException

public void uncaughtException(Thread t,
                              Throwable e)
このスレッドグループ内のスレッドが、キャッチされていない例外のために停止すると、Java 仮想マシンによって呼び出されます。  

ThreadGroup の uncaughtException メソッドは以下を実行します。

アプリケーションは、ThreadGroup のサブクラスでこのメソッドをオーバーライドして、キャッチされていない例外を別の方法で処理することができます。

パラメータ:
t - 終了しようとしているスレッド
e - キャッチされていない例外
導入されたバージョン:
JDK1.0
関連項目:
System.err, ThreadDeath, Throwable.printStackTrace(java.io.PrintStream)

toString

public String toString()
この ThreadGroup の文字列表現を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
このスレッドグループの文字列表現
導入されたバージョン:
JDK1.0

Foundation 1.1.2

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。