TSCCBLThread(COBOL)

TSCCBLThreadは,COBOL85インタフェースのために用意された,TSCThreadの派生クラスです。TSCThreadを生成するTSCThreadFactoryがTSCRootAcceptorに登録されている場合,TSCRootAcceptorが所有する実際のスレッドを表します。

COBOL85インタフェースでは,TSCThreadを継承したCOBOL85インタフェース用のTSCCBLThreadクラスを使用します。複数のTSCThreadを使用したい場合,ユーザはTSCThreadの派生クラスを複数作成するのではなく,TSCCBLThreadFactoryクラスにスレッドファクトリ識別子を指定します。

TSCCBLThread-beginThread副プログラムまたはTSCCBLThread-endThread副プログラム中で,該当するスレッドに応じて動作を切り分ける場合も,TSCThreadFactoryクラスのスレッドファクトリ識別子を利用します。スレッドファクトリ識別子は,スレッドの開始および終了時に呼び出されるTSCCBLThread-beginThreadおよびTSCCBLThread-endThreadが受け取る第1引数に該当します。

TSCCBLThread-beginThread副プログラムまたはTSCCBLThread-endThread副プログラムは,OTMのトランザクションフレームジェネレータによって雛形が生成されます。内部動作はユーザが記述します。

形式

斜体で示している部分は,ユーザが実装のコードを記述する必要がある副プログラムです。

CALL 'TSCCBLThread-beginThread' USING
           BY VALUE      THREAD-FACT-ID.
CALL 'TSCCBLThread-endThread' USING
           BY VALUE      THREAD-FACT-ID.

CALL 'TSCCBLThread-getThreadFactID' USING
           BY VALUE      THREAD-PTR
           BY REFERENCE  CORBA-ENVIRONMENT
        RETURNING        THREAD-FACT-ID.

副プログラム

●CALL 'TSCCBLThread-beginThread' USING

           BY VALUE   THREAD-FACT-ID.

項目型・(入出力の区別)意味
引数BY VALUE THREAD-FACT-ID PIC S9(9) COMP(入力)スレッドファクトリ識別子
戻り値ありません。

TSCRootAcceptorがスレッドを生成するときに呼び出します。THREAD-FACT-ID引数には,該当するTSCCBLThreadFactoryのスレッドファクトリ識別子が設定されます。これによって,ユーザは副プログラムの動作をスレッドファクトリ識別子ごとに切り替えることができます。

●CALL 'TSCCBLThread-endThread' USING

           BY VALUE   THREAD-FACT-ID.

項目型・(入出力の区別)意味
引数BY VALUE THREAD-FACT-ID PIC S9(9) COMP(入力)スレッドファクトリ識別子
戻り値ありません。

TSCRootAcceptorがスレッドを削除するときに呼び出します。THREAD-FACT-ID引数には,該当するTSCCBLThreadFactoryのスレッドファクトリ識別子が設定されます。これによって,ユーザは副プログラムの動作をスレッドファクトリ識別子ごとに切り替えることができます。

●CALL 'TSCCBLThread-getThreadFactID' USING

           BY VALUE       THREAD-PTR
           BY REFERENCE   CORBA-ENVIRONMENT
        RETURNING         THREAD-FACT-ID.

項目型・(入出力の区別)意味
引数BY VALUE THREAD-PTR USAGE POINTER(入力)TSCThreadのポインタ
BY REFERENCE CORBA-ENVIRONMENT(出力)例外情報集団項目
戻り値THREAD-FACT-ID PIC S9(9) COMPスレッドファクトリ識別子

THREAD-PTRで指定するTSCThreadに対応するスレッドファクトリ識別子を取得します。ユーザオペレーション内で,TSCObject-TSCThreadGetで取得するTSCThreadのスレッドファクトリ識別子を取得する場合に使用できます。