TSCThreadFactory(Java)
TSCThreadFactoryはシステム提供インタフェースです。
TSCThreadFactoryは,TSCThreadを生成または削除するメソッドを持つオブジェクトのインタフェースです。
ユーザはTSCObjectFactoryを継承させて,TSCユーザスレッドを生成および削除するクラスを定義し,TSCユーザスレッドのファクトリとして派生クラスのインスタンスを生成します。次にTSCObjectFactoryの特徴を示します。
OTMからの呼び出しによるTSCThreadの管理
OTMは,TSCThreadFactoryのcreateを呼び出すことで,返されるTSCThreadをそのスレッドに割り当ててスレッドを生成します。逆にそのスレッドに割り当てたTSCThreadを引数にdestroyを呼び出すことで,生成したスレッドを削除します。
形式
package JP.co.Hitachi.soft.TPBroker.TSC;
public interface TSCThreadFactory
{
public TSCThread create();
public void destroy(TSCThread tsc_thr);
};
インポートクラス
import JP.co.Hitachi.soft.TPBroker.TSC.TSCThreadFactory;
コールバックメソッド
●public TSCThread create()
項目 | 型・意味 |
---|---|
戻り値 | 管理されるTSCThread |
例外 | 各種TSCSystemException |
TSCThreadを返します。TSCユーザスレッドを生成するコードを記述できます。OTMがこのメソッドを呼び出した結果,返されたTSCThreadが管理対象となります。
なお,OTMは,複数のスレッド上から同時にこのメソッドを呼び出すので,ユーザはマルチスレッド環境に対応するリエントラントなコードを記述する必要があります。
また,create呼び出しに失敗した場合は,各種のTSCSystemExceptionによって通知する形でコードを記述してください。
●public void destroy(TSCThread tsc_thr)
項目 | 型・意味 | |
---|---|---|
引数 | TSCThread tsc_thr | 管理対象から外すTSCThread |
例外 | ありません。 |
TSCThreadを消去する前の処理のコードを記述できます。OTMがTSCユーザスレッドを管理対象から外すとき,該当するTSCThreadを引数に指定して,このメソッドを呼び出します。
OTMは,複数のスレッド上から同時にこのメソッドを呼び出すので,ユーザはマルチスレッド環境に対応するリエントラントなコードを記述する必要があります。
また,このメソッドから通知した例外は無視されます。
TSCThreadFactoryの派生クラスの生成
TSCThreadFactoryの派生クラスは,newオペレータで生成します。
マルチスレッド環境でのメソッド呼び出し規則
マルチスレッド環境で,TSCThreadFactoryクラス型のインスタンスのメソッドを呼び出す規則を次に示します。なお,これらのメソッドは,OTMが呼び出します。
メソッド | 複数のスレッド上からの同時呼び出し |
---|---|
create | できます。 |
destroy | できます。 |